This document is a guide to populate F49211 (Sales Order Detail File - Tag File) based on F4211 (Sales Order Detail File) when open sales order data are from World Software. This is a necessary routine because F49211 is used as optional in World Software whereas same table is used tightly in EnterpriseOne.
In JD Edwards World, the transportation module (SY49) does not exist and the closest functionality existing is the ECS module. Since Transportation was completely redone (even in later releases of E1) there never has been any migration programs developed between ECS (Energy and Chemical System in World) and Transportation (E1). So in case you have implemented or are implementing the Transportation Module, it is very likely that you may hit the same error/problem through multiple applications in Sales.
Example of Data Migration from World Software to EnterpriseOne:
• Pre-World migration: F4211: 2,754,430; F49211: 21,925.
• Post-World/E1 migrations: F4211: 2,754,424; F49211: 21,925
When the F49211 records are missing, an error is displayed managing open sales order through P42101 (Sales Order Entry)
Sales Order Detail (S421002C)
Error Record Invalid
A form level error has occurred.
CAUSE: The record being processed either already exists for an 'ADD'
function or does not exist for an 'INQUIRY', 'CHANGE' or
'DELETE' function.
RESOLUTION: If you are attempting to inquire, change or delete a record you
previously added, there may be data base problems in your
production library. You should notify your data processing
department.
ER Details:
Form P421002_S421002C
Control Id 20
Control Title SOLines
Event Get Custom Tree Node
Line No 16
BSFN Details:
Source File \DNVMGSC51\E910\PD910\package\ESU910A\source\B4201270.c
Source Line 654
Error ID 0002
This document will guide the user to populate F49211 as a temporary resolution to overcome this error and roughly explain the simplified routine of B4201270.
Error '0002' via F49211MaintainSalesDetailTable (B4201270, F49211 Maintain Sales Detail Table) can be avoided if you turn off the Transportation Module as below,
This workaround can be implemented only when the issue is specific to P42101 because B4201270 is called from B4210030 only when SY49 is active.
Currently the way it checks the existence of F49211 in P42101 is different from that of P4210 because P42101 is written through MVC Architecture routine which handles data as below,
S421002C for user interface
|--- (View) B4210620 - S421002C_SOLineViewController
|--- (Controller) B4210900- SalesOrderApplCtrlEX
|--- (Model) B4210000, B4210030
|--- F49211MaintainSalesDetailTable (B4201270, F49211 Maintain Sales Detail Table)
The validation routine is specific to P42101
When any sales order meets any of below condition, which calls business function F49211MaintainSalesDetailTable (B4201270, F49211 Maintain Sales Detail Table) which writes F49211 (Tag File),
When any of above conditions met, then the relationship between F4211 and F49211 has to be 1 to 1. So populate it manually by mapping some columns as below,
Seq | Alias | Mapping (lpds) | Data Dictionry Item | During Sales Order | Ship Confirmed | Others |
1 | DOCO* | DocumentOrderInvoiceE (Document (Order No, Invoice, etc.)) | lpdsF42UI11->zddoco | Primary Key | ||
2 | DCTO* | OrderType (Order Type) | lpdsF42UI11->zddcto | Primary Key | ||
3 | KCOO* | CompanyKeyOrderNo (Order Company (Order Number)) | lpdsF42UI11->zdkcoo | Primary Key | ||
4 | LNID* | LineNumber (Line Number) | lpdsF42UI11->zdlnid | Primary Key | ||
5 | VMCU | szTripDepot | CostCenterTrip (Depot - Trip) | |||
6 | TRP | mnTripNumber | TripNumber (Trip Number) | |||
7 | LOAD | jdScheduledLoadDate | DateLoaded (Date - Scheduled Load) | |||
8 | DSGP | szDispatchGrp | DispatchGrp (Dispatch Group) | F42UI11->zddsgp | ||
9 | BPFG | cBulkPackedFlag | BulkPackedFlag (Bulk/Packed Flag) | |||
10 | DSTN | mnDistance | Distance (Distance) | |||
11 | UM | szUnitOfMeasure | UnitOfMeasure (Unit of Measure) | |||
12 | DEFF | cDeferredEntriesFlag | DeferredEntriesFlag (Deferred Entries Flag) | |||
13 | DUNC | mnDeferredCost | AmountDeferredCost (Amount - Deferred Cost) | |||
14 | FDUC | mnForeignDeferredCost | AmountForeignDeferredCos (Amount - Foreign Deferred Cost) | |||
15 | DREV | mnDeferredRevenue | AmountDeferredRevenue (Amount - Deferred Revenue) | |||
16 | FDRV | mnForeignDeferredRevenue | AmountForeignDeferredRe (Amount - Foreign Deferred Revenue) | |||
17 | ANUM | mnAaiTableNumber | AaiTableNumber (Number - AAI Table Number) | Hard Coded 4241 | ||
18 | SIDT | jdScheduledInvoiceDate | ScheduledInvoiceDate (Scheduled Invoice Date) | |||
19 | INCY | szInvoiceCycle | InvoiceCycleCode (Invoice Cycle Code) | |||
20 | LDDT | jdLoadConfirmDate | LoadConfirmDate (Load Confirm Date) | F4941.LDDT | Transporation | |
21 | LDTM | mnLoadTime | TimeLoad (Time - Load) | F4941.RSDT | Transporation | |
22 | DCDT | jdDeliveryConfirmDate | DeliveryConfirmDate (Delivery Confirm Date) | ADDJ - ActualShipDate | Transporation | |
23 | PCQY | mnPrimaryCommittedQuantity | UnitsPrimaryCommittedQua (Units - Primary Committed Quantity) | |||
24 | UOMC | szCommittedQuantityUOM | UnitofMeasureCommittedQu (Unit of Measure - Committed Quantity) | |||
25 | TEMP | mnTemperature | Temperature (Temperature) | N41B0450 | ||
26 | STPU | cTemperatureType | StrappingTemperatureUnit (Temperature Type) | |||
27 | DNTY | mnDensity | Density (Density) | |||
28 | DNTP | cDensityType | DensityTypeAtStandardTem (Density Type - At Standard Temperature) | |||
29 | DETP | mnDensityTemperature | DensityTemperature (Density Temperature) | |||
30 | DTPU | cDensityTemperatureType | DensityTemperatureUnit (Temperature Type) | |||
31 | VCF | mnVolumeCorrectionFactor | VolumeCorrectionFactors (Volume Correction Factor) | |||
32 | PRAS | cPriceatAmbiantorStandard | PriceatAmbiantorStandard (Price at Ambient/Standard/Weight (A,S,W)) | lpdsF42UI11->zdalph[23] if this value is blank then get default value from DD PRAS | ||
33 | CP01 | cSalesPriceBasedOnDate | PricingBasedOnDate (Sales Price Based On Date) | lpdsF42UI12->zddtbs | ||
34 | IQTY | mnInvoiceQuantity | UnitsInvoiceQuantity (Units - Invoice Quantity) | this is computation result by B4000520 which different Bulk stock with non-bulk; if if (lpdsF42UI12->zdalloc == _J('1')), then mnInvoiceQuantity = soqs + sone | ||
35 | STUM | mnStockUOM | StockTotalinPrimaryUOM (Quantity - Primary Stock Accounting Unit) | |||
36 | BUM6 | szUM6 | UnitofMeasure6 (Unit of Measure) | |||
37 | AMBR | mnAmbientVolume | AmbientResult (Volume - Ambient) | |||
38 | BUM3 | szUM3 | UnitofMeasure3 (Unit of Measure) | |||
39 | WGTR | mnWeightResult | WeightResult (Weight Result) | |||
40 | BUM5 | szUM5 | UnitofMeasure5 (Unit of Measure 5) | |||
41 | FRTV | cSupplierFreightCalculate | VendorFreightCalculatedY (Supplier Freight Calculated) | |||
42 | FRTD | cCustomerFreightCalculate | CustomerFreightCalculate (Customer Freight Calculated) | |||
43 | FRCC | mnCustomerFreightCharge | AmountCustomerFreightCha (Amount - Customer Freight Charge) | |||
44 | FRVC | mnVendorFreightCharge | AmountVendorFreightCharg (Amount - Supplier Freight Charge) | |||
45 | PVEH | szPrimaryVehicleId | PrimaryVehicleId (Primary Vehicle Id) | |||
46 | RLNO | szRegistrationLicenseNum | RegistrationLicenseNumbe (Registration/License Number) | |||
47 | MCUR | szBusUnitArDefault | CostCenterArDefault (Business Unit - A/R Default) | |||
48 | FLTN | szFlightNumber | FlightNumber (Flight Number) | |||
49 | DSNN | szDestination | Destination (Destination) | |||
50 | ARCT | szAircraftType | AircraftType (Aircraft Type) | |||
51 | SORG | szOrigin | Origin (Origin) | |||
52 | ELTM | mnTimeElapsed | TimeElapsed (Time - Elapsed) | |||
53 | PTNR | mnShipmentNumber | ShipmentNumberB73 (Shipment Number) | |||
54 | IAN8 | mnBondIssuedAddress | AddressNumberIssued (Address Number - Bond Issued) | lpdsF42UI01->zhian8 | ||
55 | PTC | szPaymentTerms | PaymentTermsCode01 (Payment Terms Code) | lpdsF42UI01->zhtrar | ||
56 | DOC | mnDocumentNumber | DocVoucherInvoiceE (Document (Voucher, Invoice, etc.)) | |||
57 | DCT | szDocumentType | DocumentType (Document Type) | |||
58 | KCO | szDocumentCompany | CompanyKey (Document Company) | |||
59 | CRR | mnExchangeRate | CurrencyConverRateOv (Currency Conversion Rate - Spot Rate) | lpdsF42UI01->zhcrrd | ||
60 | CRCD | szCurrencyCode | CurrencyCodeFrom (Currency Code - From) | lpdsF42UI01->zhcrce | ||
61 | TXA1 | szTaxRateArea | TaxArea1 (Tax Rate/Area) | lpdsF42UI01->zhtxa1 | ||
62 | EXR1 | szTaxExplanationCode | TaxExplanationCode1 (Tax Expl Code 1) | lpdsF42UI12->zdexr1 | ||
63 | FRDM | cForeignDomesticFlag | ForeignDomesticFlag (International/Domestic Flag) | |||
64 | FUPT | szFuelingPort | FuelingPort (Fueling Port) | |||
65 | RINO | szRegistrationIdentificati | RegistrationIdentificati (Registration/Identification Number) | |||
66 | GLOC | szDeliveryLocation | DeliveryLocationN (Delivery Location) | |||
67 | AUTA | szAuthorizationName | AuthorizationName (Authorization Name) | |||
68 | ALPH | szAlphaName | NameAlpha (Name - Alpha) | |||
69 | MET1 | szMeterTicket1 | MeterTicket1 (Meter Ticket 1) | |||
70 | OPN1 | mnOpeningReading1 | UnitsBeginningThroughput (Units - Beginning Throughput Qty. 1) | |||
71 | PNR1 | mnClosingReading1 | ClosingReading1 (Closing Reading 1) | |||
72 | MET2 | szMeterTicket2 | MeterTicket2 (Meter Ticket 2) | |||
73 | OPN2 | mnOpeningReading2 | UnitsBeginningThroughpu2 (Units - Beginning Throughput Qty. 2) | |||
74 | PNR2 | mnClosingReading2 | ClosingReading2 (Closing Reading 2) | |||
75 | MET3 | szMeterTicket3 | MeterTicket3 (Meter Ticket 3) | |||
76 | OPN3 | mnOpeningReading3 | UnitsBeginningThroughpu3 (Units - Beginning Throughput Qty. 3) | |||
77 | PNR3 | mnClosingReading3 | ClosingReading3 (Closing Reading 3) | |||
78 | ARDT | jdDateArrival | DateArrival (Date - Arrival) | |||
79 | ARTM | mnTimeArrival | TimeArrival (Time - Arrival) | |||
80 | DPDT | jdDateDeparture | DateDeparture (Date - Departure) | |||
81 | DETM | mnTimeDeparture | TimeDeparture (Time - Departure) | |||
82 | DSTJ | jdDateStartJob | DateStartJobJulian (Date - Start Job(Julian)) | |||
83 | STM | mnStartTimeHHMM | TimeBeginningHHMM (Time - Start (HH/MM)) | |||
84 | END | jdDateEnding | DateEnding (Date - Ending) | |||
85 | ETM | mnEndTimeHHMM | TimeStopHHMM (Time - End (HH/MM)) | |||
86 | TV01 | cLineOrigin | FutureUse01t (Sales Detail Line Origin) | |||
87 | TV02 | cFutureUse02 | FutureUse02t (Future Use 02) | |||
88 | TV03 | cFutureUse03 | FutureUse03t (Future Use 03) | |||
89 | TV04 | cFutureUse04 | FutureUse04 (Future Use 04) | |||
90 | TV05 | cFutureUse05 | FutureUse05 (Future Use 05) | |||
91 | TVCD | szFutureUseCode | FutureUseCode (Future Use Code) | |||
92 | TVQT | mnFutureUseQuantity | FutureUseQuantityt (Future Use Quantity) | (OTM is in USE) dsD4277753A.mnPercenttoFill | ||
93 | TVDT | jdFutureUseDate | FutureUseDate (Future Use Date) | |||
94 | TVUM | szFutureUseUnitofMeasure | FutureUseUnitofMeasure (Future Use Unit of Measure) | |||
95 | USER | szUserId | UserId (User ID) | lpdsF42UI11->zduser | ||
96 | PID | szProgramId | ProgramId (Program ID) | lpdsF42UI11->zdpid | ||
97 | JOBN | szWorkStationId | WorkStationId (Work Station ID) | lpdsF42UI11->zdjobn | ||
98 | UPMJ | jdDateUpdated | DateUpdated (Date - Updated) | lpdsF42UI11->zdupmj | ||
99 | TDAY | mnTimeOfDay | TimeOfDay (Time of Day) | lpdsF42UI11->zdtday | ||
100 | SBCK | cCheckSellByDate | CheckSellByDate (Check Sell By Date) | SAR 4579777, when lpdsF42UI02->cSystemShipAscendingDate == _J('1'), then lpds4200310D->cCheckSellByDate | ||
101 | EDCK | cCheckExpirationDate | CheckExpirationDate (Check Expiration Date) | lpds4200310D->cCheckExpirationDate | ||
102 | CMDM | cCommitmentDateMethod | CommitmentDateMethod (Commitment Date Method) | lpds4200310D->cCommitmentDateMethod | ||
103 | BBCK | cCheckBestBeforeDate | CheckBestBeforeDate (Check Best Before Date) | lpds4200310D->cCheckBestBeforeDate | ||
104 | RQSJ | jdDateRequestedShip | DateRequestedShip (Date - Requested Ship) | |||
105 | PSDJ | jdDatePromisedShipJu | DatePromisedShipJu (Date - Future Date 2) | |||
106 | ADLJ | jdDateActualDelivery | DateActualDelivery (Date - Actual Delivery) | |||
107 | SUB | szSubsidiary | Subsidiary (Subsidiary) | |||
108 | STTS | szLineStatus_2 | LineStatus (Line Status) | |||
109 | RATT | cRateTypeFreightMisc | RateTypeFreightMisc (Rate Type - Freight/Misc) | |||
110 | FUF1 | cApplyFreight | ApplyFreight (AIA Document Flag) | lpdsF42UI12->zdaft | ||
111 | FRTC | cFreightCalculatedYN | FreightCalculatedYN (Freight Calculated (Y/N)) | |||
112 | FRAT | szRateCodeFrieghtMisc | RateCodeFrieghtMisc (Rate Code - Frieght/Misc) | |||
113 | AFT | cApplyFreightYN | ApplyFreightYN (Apply Freight - Y/N) | |||
114 | OMCU | szPurchasingCostCenter | PurchasingCostCenter (Project Business Unit) | |||
115 | OBJ | szObjectAccount | ObjectAccount (Object Account) | |||
116 | LT | szLedgerType | LedgerType (Ledger Types) | |||
117 | FAPP | cDiscntApplicationType | DiscntApplicationType (Discount Application Type) | |||
118 | DSPR | mnDiscountFactor | DiscountFactor (Discount Factor) | |||
119 | DSFT | cDiscountFactorTypeOr | DiscountFactorTypeOr (Discount Factor Type - $ or % (D/P)) | |||
120 | DMT1 | szContractNumberDistrsecoN | ContractNumberDistrsecoN (Agreement Number - Distr. (secondary)) | |||
121 | DMS1 | mnSecondarycontractsupp | Secondarycontractsupp (Agreement Supplement - Dist. (Secondary)) | |||
122 | COT | szConditionsOfTransport | ConditionsOfTransport (Conditions of Transport) | |||
123 | CMGL | cAllocateByLot | AllocateByLot (Commitment Method) | |||
124 | BALU | cContractBalancesUpdatedY | ContractBalancesUpdatedY (Contract Balances Updated Y/N) | |||
125 | APOT | mnActualPotency | ActualPotency (Actual Potency) | |||
126 | ACGD | szActualGrade | ActualGrade (Actual Grade) | |||
127 | ANI | szAcctNoInputMode | AcctNoInputMode (Account Number - Input (Mode Unknown)) | |||
128 | AID | szAccountId | AccountId (Account ID) | |||
129 | OPOL | OPOriginalLineNumber (OP Original Line Number) | B4205050 but no actual implemenation | |||
130 | OPBO | OPBusinessObjective (OP Business Objective) | B4205050 | |||
131 | OPID | OPScenarioID (OP Scenario ID) | B4205050 | |||
132 | OPCS | OPCost (OP Cost) | B4205050 | |||
133 | OPLL | cOPPartialShipLineItems | OPPartialShipLineItems (OP Partial Ship Line Items) | SAR 5814943 - ORDER PROMISING BEGINS, lpdsF42UI12->zdopll | ||
134 | OPMS | cOPAllowMultiSource | OPAllowMultiSource (OP Allow Multi Source) | lpdsF42UI12->zdopms | ||
135 | OPSS | cOPAllowSubstitutes | OPAllowSubstitutes (OP Allow Substitutes) | lpdsF42UI12->zdopss | ||
136 | OPBA | cOPAllowBackorders | OPAllowBackorders (OP Allow Backorders) | lpdsF42UI12->zdopba | ||
137 | FXSR | FixSourceLocation (Fix Source Location) | B4205050 | |||
138 | OPMG | szOPMultiSourceGroup | OPMultiSourceGroup (OP Multi Source Group) | lpdsF42UI12->zdopmg | ||
139 | OPSG | szOPShippingGroup | OPShippingGroup (OP Shipping Group) | lpdsF42UI12->zdopsg | ||
140 | OPYN | cOPPromiseLineYN | OPPromiseLineYN (OP Promise Line (Y/N)) | lpdsF42UI12->zdopyn | ||
141 | OPSU | OPAllowSplitUOM (OP Allow Split UOM) | B4205050 | |||
142 | PSJOBNO | szProdSeqJobNo | ProdSeqJobNo (Production Sequencing Job Number) | SAR 7758877, lpdsF42UI12->zdpsjobno | ||
143 | JOBSQ | szJobSequence | JobSequence (Job Sequence Number) | lpdsF42UI12->zdjobsq | ||
144 | CARDNO | szCardNumber | CardNumber (Card Number) | lpdsF42UI12->zdcardno | ||
145 | DELBATCH | szDeliveryBatchNumber | DeliveryBatchNumber (Delivery Batch Number) | lpdsF42UI12->zddelbatch |
Note
F49211MaintainSalesDetailTable (B4201270, F49211 Maintain Sales Detail Table)
cActionCode
if ((lpdsF42UI11->zdactn == _J('D')) ||
((lpdsF42UI11->zdactn == _J('P')) &&
(MathZeroTest(&lpdsF42UI11->zdrkit) == 0)))
{
dsD4201270.cPurgeToHistory = _J('1');
}
For ship confirmation - N4200790
LoadOrUnloadShipConfirmCache (B4200810, Load Or Unload Ship Confirm Cache)
/* bug 14163706 - If Sales Order is ship confirmed, get the Invoice quantity from F49211 table */
if(lpdsF42UI11->zdalph[2] == _J('1'))
{
idReturnValue = I4200310_GetF49211Record(lpBhvrCom, lpVoid,
&dsD4201270,
&mnInvoiceQty);
}