Skip to main content

C4C: PlatinumEngineering library (internal reuse functions/unsupported)

Submitted by Stefan Barsuhn on

One of the things that's a bit annoying in C4C coding is that you can't check if a business document is locked. Or so I thought. I just googled this issue again and came across this blog post.

It makes clear that this is "SAP internal" stuff and the disclaimer is in note 2698916. But in C4C - what choice do we have? But please know what you're doing. Some of those functions certainly look like I wouldn't use them in a productive environment. Assume that your data or entire system could become corrupted when using one of those functions. 

To use it, add "import AP.PlatinumEngineering" to your ABSL script file. And know that you're using it all at your own risk.

So here's a quick summary of the reuse functions this namespace provides - just listing this here for my later reference, not sure what each function does:

  • AddOnSupport
    • CheckForDumps(e-mail)
    • GetRandomInteger(from,to)
    • RefreshCustomBOData(object name, date restriction)
    • SubmitReport(reportname)
  • BOAction
    • CheckLock(BO name, Namespace, Node name, Node UUID) - e.g. BOAction.CheckLock("CustomerQuote","http://sap.com/xi/AP/CRM/Global","Root",quote_uuid);
    • CreateNode(BO name, Namespace, Node name, Node UUID, AssociationName, NodeNameCreate)
    • Execute(BO name, Namespace, Node name, Node UUID, Action Name)
    • ExecuteWithParameters(BO name, Namespace, Node name, Node UUID, Action Name, Parameters)
    • IsActionAllowed(BO name, Namespace, Node name, Node UUID, Action Name)
    • ModifyBONode(BO name, Namespace, Node name, Node UUID, Modify Attributes)
  • BOEvent
    • RegisterAfterSave(BO name, Namespace, Node name, Action Name)
  • BPHierarchyUtil
    • AssignBP(BP UUID, Parent BP UUID)
  • Calendar
    • DateDifference(Date 1, Date 2)
    • GetByYear(year) - seems to return holiday calendar information for the given year
  • Codelist
    • Get(Code List Name, Namespace)
  • CSV
    • GetReport(Report Name, flag as CSV, flag as table)
    • Parse(String, separator, field names)
    • ParseQuoted(String, separator, field names)
    • SplittCSV(String, Package size) - note: no typo
    • UploadToDataSource(String, Data Source, Filename, Import Method)
    • ZipContent(Filename, Binary Content) - seems to return zipped version of binary content
  • Feeds
    • Add(Identity UUID, BO UUID, BO Type, State, Process Rules)
    • DeleteForIdentity(Identity UUID)
    • Remove(Feed UUID, Identity UUID, Hard Delete)
  • Fuzzy
    • Search(BO Name, Namespace, Node Name, Return Attribute Name, Query Attribute Name, Attribute Value, Similarity, Calculation Mode, Script Matching, Max Rows)
    • SearchString(Search String, String List) - seems to enable searching the supplied string using fuzzy search?
  • GeoCodes
    • CalculateDistance(Latitude 1, Longitude 1, Latitude 2, Longitude 2)
  • Hash
    • DecryptString(Algorithm, Encrypted Content, Secrect Key)
    • EncryptString(Algorithm, Encrypted Content, Secrect Key)
    • GetForBinary(Algorithm, Binary Content)
    • GetForString(Algorithm, String)
  • Mail
    • CheckEmailAddress(e-mail address)
    • GetInboundEmails(from datetime, to datetime)
    • Send(Subject,Body,From,Recipients)
    • SendWithAttachments(Subject,Body,From,Recipients, IsHTML?, Attachments)
    • SendWithAttachmentsNew2(Subject,Body,From,Recipients, IsHTML?, Attachments)
  • MDRO
    • Activate(MDR Name, MDR Namespace, MDR ID)
    • AddSelectionParameter(MDR Name, MDR Namespace, MDR Association Name, MDR ID, Selection Parameter)
    • CreateInstance(MDR Name, MDR Namespace, MDR ID, Description)
    • DeleteSelectionParameter(MDR Name, MDR Namespace, MDR Association Name, MDR ID)
    • ExecuteDateTime(MDR Name, MDR Namespace, DateTime, MDR ID)
    • ExecuteNow(MDR Name, MDR Namespace, MDR ID)
    • GetJobStatus(MDR Name, MDR Namespace, MDR ID)
    • ReuseInstance(MDR Name, MDR Namespace, Number of MDR)
    • SendLogViaEmail(MDR Name, MDR Namespace, Date, MDR ID, Recipients)
    • SetPackageSize(MDR Name, MDR Namespace, MDR ID), PackageSize)
    • SetRecurrence(MDR Name, MDR Namespace, MDR ID, Start DateTime, Minutes)
    • SetSelectionHighParameter(MDR Name, MDR Namespace, MDR Association Name, Attribute Name, High Value, MDR ID)
    • SetSelectionLowParameter(MDR Name, MDR Namespace, MDR Association Name, Attribute Name, Low Value, MDR ID)
    • SetSelectionSortOrder(BO Name, BO Node Name, BO Query Attribute, Low Value, Rank)
  • Odata
    • ReportExecute(Report ID, Query URL)
  • OrgUnitUtils
    • SetEmployeeJobAndOrgUnit(BP UUID, Job ID, Org Unit, Default Org Unit)
  • Output
    • GetPreview(BO Name, Message Short Text Language, Reference BO Node ID, Message Priority, Reference BO Node Name)
    • SendToPrinter(Printer Queue ID, Binary Content to Print, Filename)
  • Performance
    • CollectionsCompare(Collection 1, Collection 2)
    • FlushDetection(On_Off)
    • GetAnalysisByMail(e-mail address)
  • RALUtil
    • EnhanceLog(From Time Stamp, BO_OTC)
  • RDPR
    • GetBusinessObjectData(BO Namespace, BO Object Name, SADL UUID, UUID)
    • GetFieldCatalogue()
  • SADLQuery
    • Count(SADL UUID, Selection Parameters)
    • CreatePredictionModel(SADL UUID, Selection Parameters, Prediction Algorithm, Prediction Model UUID)
    • Execute(SADL UUID, Selection Parameters)
    • PredictValue(SADL UUID, Prediction Model UUID, Source Parameters)
  • TextAnalysis
    • AddByteOrderMakrUTF8(Content)
    • BinaryToText(Content)
    • ContainsPattern(Content, Pattern)
    • ConvertLanguageCode(SAP language code, ISO language code)
    • ConvertToUTF8(Content)
    • GetEmailAddresses(Content)
    • GetWords(Content, Language, Mode)
    • NormalizePhone(Phone Number string)
    • PrettyPrintXML(Content)
    • RemoveFormatting(Content)
  • URL
    • Encode(URL)
    • GetDocumentURL(Document Folder UUID, Attachment Folder Association Name, Host BO Namespace, Host BO Name)
    • GetNamespace()
  • UserUtils
    • AddSubscription(Subscription Information)
    • AssignOrgUnit(BP UUID, Org Unit ID)
    • AssignRole(BP UUID, Business Role ID)
    • CheckAuthority(Identity UUID, BO Name, BO Namespace, BO Node Name, User Interface Path, Read/Write, Node ID)
    • CheckAuthorityMass(Identity UUID, BO Name, BO Namespace, BO Node Name, User Interface Path, Read/Write, Node ID)
    • GeneratePassword(length, alphabet)
    • GetCertificateBlockDate(Subject Name, Issuer Name)
    • LockUser(BP UUID)
    • SetDefaultJob(BP UUID, Job ID)
    • SetInitialPassword(BP UUID, Password)
    • SetPasswordProductive(BP UUID, Old Password, New Password)
    • SetPasswordTemp(BP UUID, Password)
    • SetSecurityPolicy(BP UUID, Policy)
    • Settings(BP UUID, Date Format, Time Format, Logon Language, Timezone, Decimal Format)
    • SetUsername(BP UUID, Username)
    • SetUserTimeZone(BP UUID, Timezone)
    • SetValidity(BP UUID, From, To)
    • UnAssignRole(BP UUID, Role ID)
    • UnlockUser(BP UUID)
  • Utilities
    • GetAllTimezones(language)
    • GetConfirmedObjects()
    • GetContractAccountOverview(Customer ID, Contract AccountID)
    • GetFinancialsOverview(Customer UUID, Contract Account ID)
    • GetInvoices(Customer ID, Date From, Date To)
    • GetPremiseDetails(Premise UUID)
    • GetPremiseStatus(Customer ID)
    • GetUtilities360(Customer UUID)
    • SetConfirmedObjects(Confirmed Objects)
  • WebDAV
    • CreateFile(SIF Interface Code, Filename, Content Type, Binary Content)
    • DeleteFile(File UUID)
    • GetDocument(File UUID)
    • GetDocumentList(SIF Interface Code)

Tags