Sales Order Edit Line SOEF String Functions (B4205101) and szSOEMBFInternalFlags

Purpose of Document

This note is to explain possible issue you come across in Sales Order processing. Through this note we may understand inquiries,

 

Note:

 



1375749.1_salesflags and b4205101CAUTION: As description reads this functions are to control internal routine of sales order edit line (SOEL) along with cache/workfiles (F42UI11 and F42UI12). Do not try to modify any of existing routines. Rather this note is to guide how to analyze logs you may have and relationship among tables.

This note is the first part of internal flag in Sales Order Processing:-

Internal Flags and Sales Order Master Fusiness Functions:

RoutineHook-up byInternal FlagsRemarks
F4211FSBeginDoc (form) Set Focus on Grid in W4210A - Order Detail
Or,
OK Button clicked in W4210G - Order Header
Or, when routine requires validate/default header information
B4205103 - Sales Order Begin Doc SOEF String Functions Cache F42UI01, F42UI02 (not a work file)
F4211FSEditLinePreProcess (grid) Write Grid Line-Before in W4210A
Or routine requires to get new value before Edit Line gets called
B4205104 - Sales Order PreProcessor SOEF String Functions This process is unique in Sales Order Entry routine
F4211FSEditLine (grid) Row Exit & Changed - Asynch in W4210A
or when it needs to validate/defaults order detail information
B4205101 - Sales Order Edit Line SOEF String Functions Cache F42UI11 and F42UI12
* B4200311 (internal function called by B4200310)
F4211EditDoc (form) OK Button clicked   * B4200312
F4211FSEndDoc (form) Post OK button clicked B4205102 - Sales Order End Doc SOEF String Functions  
   F4211ClearWorkFile Cancel button clicked
or through F4211FSEndDoc
   

Refer to <Document 1265902.1> - E1: BSFN: Master Business Function in EnterpriseOne


 

B4205101

This note is to describe B4205101 - Sales Order Edit Line SOEF String Functions, which is made up of multiple routine to store controlling flag internally

SOEF - Sales Order Entry MBF Internal Flags
This field is broken down into 30 different flags which are passed in and out of the sales order entry MBF - F4211 Begin Doc, F4211 Pre Processor, F4211 Edit Line, and F4211 End Doc.

For example,

Index/nIndexPosition 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
SOEL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
szSOEMBFInternalFlags 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Example 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 R 0 0 0 0 0 0 2 0 0 0 0 0 0

How to interpret above example?

 

Note:

 





Below table shows what is usage of internal edit line flag:
Note: If it does not have defined macros, which has to be understood as below,

(These macros should be used for a flag if and only if the only valid values for the flag are '0' and '1'. If the flag has any other values besides these then create a set of macros specifically for it, including '0' and '1' if  they are valid.)

Source  ModuleFunction  NameOthersValues/MacroEnhancement/Change
  I4205101_GetController Internal function This internal fuction performs all the "Get" logic. Each "Get" function should consist of nothing more than a call to this internal function, passing in its unique index position.  
  I4205101_SetController Internal function This internal fuction performs most of the "Set" logic. Each "Set" function should consist of logic to check that the cValue passed in is a valid value, and then a call to this internal function, passing in its unique index  position.  
  I4205101_SOELStringValidLength Internal function This internal fuction validates that the SOEL string passed in is 30 characters long.  
B4205101 InitializeSalesOrderSOEFString INITIALIZED_SOEF _J("000000000000000000000000000000")  
B4205101 GetSuppressFreeGoodSOEL01 SUPPRESS_FREE_GOOD_SOEL01    
B4205101 SetSuppressFreeGoodSOEL01      
B4205101 GetSuppressBasePriceSOEL02 SUPPRESS_BASE_PRICE_SOEL02    
B4205101 SetSuppressBasePriceSOEL02      
B4205101 GetSubstItemWriteHistSOEL03 SUBST_ITEM_WRITE_HIST_SOEL03 0 - DO_NOT_WRITE_0_SOEL03
1 - WRITE_F40UI74_1_SOEL03
 
B4205101 SetSubstItemWriteHistSOEL03      
B4205101 GetSuppressVIDAccumSOEL04 SUPPRESS_VID_ACCUM_SOEL04    
B4205101 SetSuppressVIDAccumSOEL04      
B4205101 GetPriceListModeSOEL05 PRICE_LIST_MODE_SOEL05    
B4205101 SetPriceListModeSOEL05      
B4205101 GetPEFJSourceSOEL06 PEFJ_SOURCE_SOEL06 ' ' - TRANSACTION_BL_SOEL06
0 - DEFAULT_0_SOEL06
1 - REQUESTED_1_SOEL06
2 - PROMISED_SHIP_2_SOEL06
3 - ORIGINAL_SHIP_3_SOEL06
4 - ACTUAL_SHIP_4_SOEL06
5 - SYSTEM_5_SOEL06
6 - INVOICE_6_SOEL06
O - OVERRIDE_O_SOEL06
B - RECALCULATE_B_SOEL06
 
B4205101 SetPEFJSourceSOEL06      
B4205101 GetActivateAuditLogSOEL08 ACTIVATE_AUDIT_LOG_SOEL08 0 - OFF_0_SOEL08
1 - AUDIT_LOG_ONLY_1_SOEL08
2 - LOG_AND_APPROVAL_2_SOEL08
 
B4205101 SetActivateAuditLogSOEL08      
B4205101 GetUpsellCacheExistsSOEL09 UPSELL_CACHE_EXISTS_SOEL09    
B4205101 SetUpsellCacheExistsSOEL09      
B4205101 SetPricingEditsOnOffSOEL10 PRICING_EDITS_ON_OFF_SOEL10 0 - MBF_DECIDES_0_SOEL10
1 - EDITS_ON_1_SOEL10
2 - EDITS_OFF_2_SOEL10
3 - EDITS_OFF_3_ADD_SOEL10
4 - COST_EDITS_OFF_4_SOEL10
5 - COSTPRICE_EDITS_OFF_5_SOEL10
 
B4205101 GetPricingEditsOnOffSOEL10      
B4205101 GetBypassCommissionsSOEL11 BYPASS_COMMISSIONS_SOEL11    
B4205101 SetBypassCommissionsSOEL11      
    FROM_R41310_SOEL12    
B4205101 GetPendingFlagSOEL15 GET_PENDING_FLAG_SOEL15 1 - PENDING_ADD_SOEL15
2 - PENDING_CHANGE_SOEL15
 
B4205101 SetPendingFlagSOEL15      
B4205101 GetELCalledFromSOEL16 EL_CALLED_FROM_SOEL16 Note: if adding a new valid value for position 16 of any of the SOEL, SOED, SOBD or SOPP strings, then that same value should be added to the header and source file of all other the three strings (B4205101 through B4205104) in order to prevent future confusion arising from the same value having different meanings for different flags.
0 - UNKNOWN_0_SOEL16
1 - EPM_COGS_1_SOEL16
2 - EPM_PROJ_WKBENCH_2_SOEL16
3 - SO_ENTRY_3_SOEL16
4 - RECUR_ORD_ENTRY_4_SOEL16
5 - EDI_SO_INQUIRY_5_SOEL16
6 - EDI_QUOTE_INQ_6_SOEL16
7 - EDI_CHANGE_ORDER_7_SOEL16
8 - R42950_8_SOEL16
9 - CSS_BLANKET_RLS_9_SOEL16
R - R42750_R_SOEL16
T - R45650_APPROVALS_T_SOEL16
X - P42260_X_SOEL16
Z - R4210Z_Z_SOBD16
9 - <Bug 10805884>: RLS BLANKET ORDER ENHANCEMENT - SAR: 6519751

R - <Bug 10950448>: AUTOMATIC BASKET RE-PRICING CL - SAR: 8379625

T - <Bug 11036133>: ITERATION 9-PRICING REPRICE - SAR: 8955609

X - <Bug 11052630>: ITERATION 17-MISCELLANEOUS ITE - SAR: 8972753

Z - <Bug 11036178>: ITERATION 12-RECURRING ORDER E - SAR: 8955612
B4205101 SetELCalledFromSOEL16      
    GET_TRANS_ACTION_SOEL19 1 - TRANSACTN_UPDATE_CFG_SOEL19  
B4205101 GetManualPriceAdjsSOEL20 MANUAL_PRICE_ADJS_SOEL20 0 - PRESERVE_F40UI74_0_SOEL20
1 - DO_NOT_PRESERVE_1_SOEL20
2 - PRESERVE_F4074_2_SOEL20
 
B4205101 SetManualPriceAdjsSOEL20      
B4205101 GetCSSItemErrorSOEL21 CSS_ITEM_ERROR_SOEL21   <Bug 12510062>: CRM 3.0 CSS - SO ADD AUTO DEV - SAR: 6545212
B4205101 SetCSSItemErrorSOEL21      
B4205101 SetPickDateEnteredSOEL22 PICK_DATE_ENTERED_SOEL22   <Bug 10917216>: NEW FG LINE ON DIFF SHIPMENT - SAR: 7999777
B4205101 GetPricingOnOverrideFlagSOEL23 PRICING_ON_OVERRIDE 0 - DEFAULT_0_SOEL23
1 - EXISTING_OVERRIDE_1_SOEL23
2 - NEW_OVERRIDE_2_SOEL23

Note: This flag will be repeating in F4211.SO18 and PROV (0 or 1)
SOEL23:
1 - overridden by routine
2 - overridden by user mannually
<Bug 10897452>: WINE PRICING-PRICE OVERRIDE - SAR: 7765006
B4205101 SetPricingOnOverrideFlagSOEL23      
    COST_OVERRIDE 0 - DEFAULT_0_SOEL24
1 - EXISTING_OVERRIDE_1_SOEL24
2 - NEW_OVERRIDE_2_SOEL24
<Bug 10897452>: WINE PRICING-PRICE OVERRIDE - SAR: 7765006
B4205101 GetTaxFieldEnteredSOEL25 TAX_FIELD_ENTERED_SOEL25   <Bug 10948028>: SOE QUANTITY/DATE PROPAGATION - SAR: 8350785
B4205101 SetTaxFieldEnteredSOEL25      
B4205101 GetItemGroupOverrideFlagSOEL26 ITEM_GROUP_OVERRIDE_SOEL26   <Bug 11008011>: BLANK ITEM PRICE GROUP P42101 - SAR: 8925996
B4205101 SetItemGroupOverrideFlagSOEL26      

 

Important Note:
  1. Create the function templates using OMW Function Design Follow naming standards. Use datastructure D4205101A.
  2. Add the #define constant for the index postion to the header file. (The name of this constant should match the function names.)
  3. Add #define constants for the valid flag values to the header file if there are valid values besides '0' and '1'. Follow name standards.
  4. For the Get function, copy and paste the body of an existing Get function, and just change the index passed into I4205101_GetController.
  5. For the Set function, copy and paste the body of an existing Set function. Change the index passed into I4205101_SetController, and the switch construct that checks the valid values.

 





B4205101 - InitializeSalesOrderSOEFString (Initialize Sales Order SOEF String)

Structure Member NameData TypeReqI/OAliasUsage
szSOEMBFInternalFlags[31] JCHAR   I SOEF Initialized value '0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''0''/' and the last character is to be NULL Character

Detail Routine: This is to initialize flags in the beginning of each transactions


B4205101 - Others (refer BSFN listed above)

Structure Member NameData TypeReqI/OAliasUsage
szEditLineSOEMBFFlags[31] JCHAR   I/O SOEF String value
cValue JCHAR   I/O EV01 A specific character for a certain index
cErrorCode JCHAR   O ERRC Return error if any

 





cf., b4205110 - Maintain SOE Line Working Data Cache Source File
This business function source file serves to contain the API-level C functions for the SOE MBF Shared Data Caches for BeginDoc, EditLine and EndDoc.  The "public" business function SourceForSOESharedDataCacheAPIs shall not be used by any program because it will not perform any processing, and will not in the foreseeable future.

The Following C Functions are public functions designed to be called from the SOE MBF source files (B4200310/311) and the SOE Get/Set Business Functions.  This source file must be built into the same DLL as the SOE MBF and the SOE Get/Set Business Functions.





Below 3 business functions are to describe other internal flags to control the process of Sales Order.

The way it stores chacter in Character Array (String) are same with different parameter name (szEndDocSOEMBFFlags, szBeginDocSOEMBFFlags and szPreProcSOEMBFFlags respectively) as below,

Index/nIndexPosition 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
szEndDocSOEMBFFlags   x x           x     x       x x                          
szBeginDocSOEMBFFlags   x x                 x         x x                        
szPreProcSOEMBFFlags                                 x                          

 

Note:

 


 

B4205102

B4205102 - F4211FSEndDoc

Below table shows what is usage of internal edit line flag:
Note: If it does not have defined macros, which has to be understood as below,

(These macros should be used for a flag if and only if the only valid values for the flag are '0' and '1'. If the flag has any other values besides these then create a set of macros specifically for it, including '0' and '1' if  they are valid.)

Source  ModuleFunction  NameOthersValues/MacroEnhancement/Change
  I4205102_GetController Internal function This internal fuction performs all the "Get" logic. Each "Get" function should consist of nothing more than a call to this internal function, passing in its unique index position.  
  I4205102_SetController Internal function This internal fuction performs most of the "Set" logic. Each "Set" function should consist of logic to check that the cValue passed in is a valid value, and then a call to this internal function, passing in its unique index  position.  
  I4205102_SOEDStringValidLength Internal function This internal fuction validates that the szEndDocSOEMBFFlags string passed in is 30 characters long.  
B4205102 GetSuppressVIDAccumSOED01 SUPPRESS_VID_ACCUM_SOED01    
B4205102 SetSuppressVIDAccumSOED01      
B4205102 GetFormModeSOED02 FORM_MODE_SOED02 0 - UNKNOWN_0_SOED02
A - ADD_MODE_A_SOED02
C - CHANGE_MODE_C_SOED02
 
B4205102 SetFormModeSOED02      
B4205102 GetActivateAuditLogSOED08 ACTIVATE_AUDIT_LOG_SOED08 0 - OFF_0_SOED08
1 - AUDIT_LOG_ONLY_1_SOED08
2 - LOG_AND_APPROVAL_2_SOED08
 
B4205102 SetActivateAuditLogSOED08      
B4205102 GetOrderTypeFlagSOED11 ORDER_TYPE_ALPH11 2 - DIRECT_SHIP_2_ED11 <Bug 10891889>: ADD'L LINE FOR OD ORDERS - SAR: 7696637
B4205102 SetOrderTypeFlagSOED11      
B4205102 GetPendingFlagSOED15 GET_PENDING_FLAG_SOED15 1 - PENDING_ADD_SOED15
2 - PENDING_CHANGE_SOED15
 
B4205102 SetPendingFlagSOED15      
B4205102 GetEDCalledFromSOED16 ED_CALLED_FROM_SOED16 0 - UNKNOWN_0_SOED16
1 - EPM_COGS_1_SOED16
2 - EPM_PROJ_WKBENCH_2_SOED16
3 - SO_ENTRY_3_SOED16
4 - RECUR_ORD_ENTRY_4_SOED16
5 - EDI_SO_INQUIRY_5_SOED16
6 - EDI_QUOTE_INQ_6_SOED16
7 - EDI_CHANGE_ORDER_7_SOED16
8 - R42950_8_SOED16
9 - CSS_BLANKET_RLS_9_SOED16
R - R42750_R_SOED16
T - R45650_T_SOED16
X - P42260_X_SOED16
Z - R4210Z_Z_SOBD16
9 - <Bug 10805884>: RLS BLANKET ORDER ENHANCEMENT - SAR: 6519751

T - <Bug 11036133>: ITERATION 9-PRICING REPRICE - SAR: 8955609
 
X - <Bug 11052630>: ITERATION 17-MISCELLANEOUS ITE - SAR: 8972753

Z - <Bug 11036178>: ITERATION 12-RECURRING ORDER E - SAR: 8955612
B4205102 SetEDCalledFromSOED16      


Function

Structure Member NameData TypeReqI/OAliasUsage
szEndDocSOEMBFFlags[31] JCHAR   I/O SOEF String value
cValue JCHAR   I/O EV01 A specific character for a certain index
cErrorCode JCHAR   O ERRC Return error if any

 

B4205103

B4205103 - F4211FSBeginDoc

Below table shows what is usage of internal edit line flag:
Note: If it does not have defined macros, which has to be understood as below,

(These macros should be used for a flag if and only if the only valid values for the flag are '0' and '1'. If the flag has any other values besides these then create a set of macros specifically for it, including '0' and '1' if  they are valid.)

Source  ModuleFunction  NameOthersValues/MacroEnhancement/Change
  I4205103_GetController Internal function This internal fuction performs all the "Get" logic. Each "Get" function should consist of nothing more than a call to this internal function, passing in its unique index position.  
  I4205103_SetController Internal function This internal fuction performs most of the "Set" logic. Each "Set" function should consist of logic to check that the cValue passed in is a valid value, and then a call to this internal function, passing in its unique index  position.  
  I4205103_SOBDStringValidLength Internal function This internal fuction validates that the szBeginDocSOEMBFFlags string passed in is 30 characters long.  
B4205103 GetUseCustomerSetSOBD01 USE_CUSTOMER_SET_SOBD01    
B4205103 SetUseCustomerSetSOBD01      
B4205103 GetSprsPOValidationSOBD02 SPRS_PO_VALIDATION_SOBD02    
B4205103 SetSprsPOValidationSOBD02      
B4205103 GetBypassCommissionsSOBD11 BYPASS_COMMISSIONS_SOBD11    
B4205103 SetBypassCommissionsSOBD11      
B4205103 GetPendingFlagSOBD15 GET_PENDING_FLAG_SOBD15 1 - PENDING_ADD_SOBD15
2 - PENDING_CHANGE_SOBD15
 
B4205103 SetPendingFlagSOBD15      
B4205103 GetBDCalledFromSOBD16 BD_CALLED_FROM_SOBD16 0 - UNKNOWN_0_SOBD16
1 - EPM_COGS_1_SOBD16
2 - EPM_PROJ_WKBENCH_2_SOBD16
3 - SO_ENTRY_3_SOBD16
4 - RECUR_ORD_ENTRY_4_SOBD16
5 - EDI_SO_INQUIRY_5_SOBD16
6 - EDI_QUOTE_INQ_6_SOBD16
7 - EDI_CHANGE_ORDER_7_SOBD16
8 - R42950_8_SOBD16
9 - CSS_BLANKET_RLS_9_SOBD16
R - R42750_R_SOBD16
T - R45650_T_SOBD16
X - P42260_X_SOBD16
Z - R4210Z_Z_SOBD16
 
B4205103 SetBDCalledFromSOBD16      
B4205103 SetSuppressTaxedPricesSOBD17 SUPPRESS_TAXED_PRICES_SOBD17   <Bug 11052612>: ITERATION 14-BSSV AND REAL T E - SAR: 8972748
B4205103 GetSuppressTaxedPricesSOBD17      


Function

Structure Member NameData TypeReqI/OAliasUsage
szBeginDocSOEMBFFlags[31] JCHAR   I/O SOEF String value
cValue JCHAR   I/O EV01 A specific character for a certain index
cErrorCode JCHAR   O ERRC Return error if any

 

B4205104

B4205104 - F4211FSEditLinePreProcess

Below table shows what is usage of internal edit line flag:
Note: If it does not have defined macros, which has to be understood as below,

(These macros should be used for a flag if and only if the only valid values for the flag are '0' and '1'. If the flag has any other values besides these then create a set of macros specifically for it, including '0' and '1' if  they are valid.)

Source  ModuleFunction  NameOthersValues/MacroEnhancement/Change
  I4205104_GetController Internal function This internal fuction performs all the "Get" logic. Each "Get" function should consist of nothing more than a call to this internal function, passing in its unique index position.  
  I4205104_SetController Internal function This internal fuction performs most of the "Set" logic. Each "Set" function should consist of logic to check that the cValue passed in is a valid value, and then a call to this internal function, passing in its unique index  position.  
  I4205104_SOPPStringValidLength Internal function This internal fuction validates that the szPreProcSOEMBFFlags string passed in is 30 characters long.  
B4205104 GetPPCalledFromSOPP16 PP_CALLED_FROM_SOPP16 0 - UNKNOWN_0_SOPP16
1 - EPM_COGS_1_SOPP16
2 - EPM_PROJ_WKBENCH_2_SOPP16
3 - SO_ENTRY_3_SOPP16
4 - RECUR_ORD_ENTRY_4_SOPP16
5 - EDI_SO_INQUIRY_5_SOPP16
6 - EDI_QUOTE_INQ_6_SOPP16
7 - EDI_CHANGE_ORDER_7_SOPP16
8 - R42950_8_SOPP16
9 - CSS_BLANKET_RLS_9_SOPP16
R - R42750_R_SOPP16
T - R45650_T_SOPP16
X - P42260_X_SOPP16
Z - R4210Z_Z_SOPP16
 
B4205104 SetPPCalledFromSOPP16      


Function

Structure Member NameData TypeReqI/OAliasUsage
szPreProcSOEMBFFlags[31] JCHAR   I/O SOEF String value
cValue JCHAR   I/O EV01 A specific character for a certain index
cErrorCode JCHAR   O ERRC Return error if any





Note: This document is created based on EnterpriseOne application release 9.0 so some flags may be missing from your own system. Last update on 11 Nov 2011