Solution : https://service.sap.com/sap/support/notes/1111161 (SAP Service marketplace login required)
Summary : 
      The SAP Note addresses issues related to BAPIs within the Product Safety component, particularly in Specification Management. Key BAPI problems discussed include being unable to add specifications with BAPI_BUS1077_CREATE, changes not taking effect after using BAPI_BUS1077_CHANGE without errors, and performance issues with BAPI_BUS1077_GETDETAIL. The solutions incorporate the use of auxiliary key fields like PRIMARYKEY and FOREIGNKEY in BAPI_BUS1077_CREATE, ensuring BAPI_TRANSACTION_COMMIT is called to persist data, and handling large data sets carefully. Adequate module calling sequences and system checks for duplicate identifier entries are highlighted to optimize performance and data integrity.
Key words : 
sub_header ident_header matjoin prop_header prop_val prop_data read, terms frequently asked questionsq+aperformanceruntimecheck, bapi_bus1077_create bapi_bus1077_change bapi_bus1077_delete bapi_transaction_commit bapi_bus1077_savefrombuffer bapi_bus1077_getdetail, primarykey foreignkey flgprimkey flgfrgnkey, runtime errors occur dependent, read phrase texts, function module bapi_transaction_commit, customer-defined program, runtime problem occurs, primary key relationships
Related Notes : 
       
| 1564132 | Authorization error for class type 100 is issued only once | 
| 1559662 | Unclear message: "Entry in field &1 required" | 
| 1556732 | (B)API may not report old characteristic values after lock | 
| 1555822 | Creating several relationships in a (B)API call | 
| 1537943 | Usage not displayed for restrictive authorizations | 
| 1534533 | BAPI_BUS1077_GETLIST, error CX_SY_DYN_CALL_ILLEGAL_TYPE | 
| 1526269 | EH&S Expert incorrectly displays an error | 
| 1520381 | BAdI messages missing in C1F5_SPECIFICATIONS_READ | 
| 1509009 | (B)API cannot generate sorting for identifiers | 
| 1505911 | API changes referenced value assignments | 
| 1494425 | Delete (B)API deletes inherited value assignment instances | 
| 1490665 | Reading specifications takes a long time | 
| 1484936 | Internal system error when copying specifications | 
| 1457612 | Meaningless status values displayed in scope of application | 
| 1439583 | BAPI_BUS1077_CREATE too slow for large amt of packaging data | 
| 1439441 | BAPI msg "Invalid reference value in field &1" has no value | 
| 1438416 | Specifying decimal places for concentrations for components | 
| 1433872 | Slow processing with large no. of value assignment instances | 
| 1414058 | BAPI_BUS1077_CHANGE does not make any changes | 
| 1411237 | Improvements in the specification API | 
| 1379553 | Insufficient selection parameters for BAPI_BUS1077_GETLIST | 
| 1376074 | Specification read API, combination inheritance & reference | 
| 1352887 | BAPI_BUS1077_GETLIST outputs incorrect identifiers | 
| 1335123 | Dialog error message when you submit a locked change number | 
| 1321656 | Data inconsistency when value assgmt instance is inherited | 
| 1320811 | Using the change BAPI to change long texts | 
| 1301213 | Existence check for change numbers | 
| 1283732 | Error in read/delete API when several data records entered | 
| 1247216 | Specification BAPI/API and inheritance: Important notes | 
| 1074977 | Example programs for specification BAPIs | 
| 827093 | Inheritance filter logic ignores future changes | 
| 807938 | Inheritance of identifiers cannot be extended | 
| 800918 | Rules for API programming with SAPLC1F2, SAPLC1F5 | 
| 663941 | Duplicate check for identifiers with long texts |