update URRF in F3112 using BSFN EditLine

Jamie_Yates

Active Member
Hi ALl

I'm trying to modify P3112 to update URRF in F3112.
I have added the my URRF variable to the correct item in F3112WorkOrderRoutingsEditLine BSFN call in the 'Row Exit & Changed - Asynch' grid event.
I can see in debugger this call being run, but URRF does not get updated in the F3112.

Here is the call (standard JDE except for URRF added)

<font class="small">Code:</font><hr /><pre>
0178 F3112 Work Order Routings Edit Line
GC Cache Row Number [HIDDEN] <> nCacheRowNumber
UNDEFINED X szComputerID
"1" -> cProcessEdits
UNDEFINED X cProcessModule
VA frm_szProcessModule -> szProcessModule
"1" -> cActionCode
"<Zero>" -> cDataDictionaryValidation
"<Zero>" -> cSuppressErrorMessage
VA frm_szErrorMessageID_DTAI <- szErrorMessageID
VA frm_cErrorCode_ERRC <- cErrorCode
FC Order Number -> mnOrderNumber
GC Operation Sequence -> mnOperationSequence
GC Operation Type -> szTypeOfOperation
GC Work Center -> szWorkCenter
GC Operation Status -> szOperationStatus
GC Operation Description -> szOperationDescription
GC Machine Run Hours -> mnStdRunMachine
GC Labor Run Hours <> mnStdRunLabor
GC Setup Hours -> mnStdSetupHours
GC Queue Hours -> mnQueueTime
GC Move Hours -> mnMoveTime
GC Rate <> mnPieceworkRate
GC Crew Size -> mnCrewSize
GC Start Date <> jdStartDate
GC Requested Date <> jdRequestedDate
GC Assigned To -> mnAddressNumber
GC Pay Point <> cPayPointCode
GC Unit Number [HIDDEN] -> szEquipmentTag
GC Instruction Number -> szInstructionNumber
GC Related Order -> szRelatedNumber
GC PO Type -> szRelatedType
GC Next Operation -> mnNextOperationSequence
GC Cons Prod <> szConsProd
GC Assigned Name -> szAssignedName
GC Time Basis -> cTimeBasisCode
GC Overlap Percent -> mnPercentOverlap
GC Yield Percent -> mnPercentOpYield
GC Cumulative Yield Percent X mnPercentCumYield
UNDEFINED X mnQuantityOrdered
UNDEFINED X mnQtyCompleted
UNDEFINED X mnQtyScrapped
UNDEFINED X mnQuantityatOperation
UNDEFINED X szUOM
UNDEFINED X cPayPointStatus
GC Requested Date -> jdTransactionDate
GC Primary Supplier -> mnVendor
UNDEFINED X mnParentItemNumber
UNDEFINED X sz2ndItemNumber
UNDEFINED X sz3rdItemNumber
UNDEFINED X szOrderType
UNDEFINED X szOrderSuffix
UNDEFINED X szRoutingType
FC Branch/Plant -> szBranchPlant
GC Line/Cell Identifier -> szLineID
UNDEFINED X szAutoLoadDescription
UNDEFINED X szInspectionCode
UNDEFINED X cLaborOrMachine
UNDEFINED X szJobCategory
UNDEFINED X mnCriticalRatio
UNDEFINED X mnSlackTimeRatio
GC Complete Date -> jdCompletionDate
GC Estimated Start Time_PBTM [HIDDEN] -> mnBeginTime
GC Actual End Time_PETM [HIDDEN] -> mnEndTime
UNDEFINED X cRequestedShiftCode
UNDEFINED X cStartShiftCode
UNDEFINED X cCompletedShiftCode
UNDEFINED X mnPercentLeadtime
UNDEFINED X mnActualMachineHours
GC Run Labor -> mnActualLaborHours
UNDEFINED X mnActualSetupHours
UNDEFINED X mnShrinkFactor
UNDEFINED X mnHoursUnacctDirectLabor
UNDEFINED X mnHoursUnacctSetupLabor
UNDEFINED X mnHoursUnacctMachine
UNDEFINED X mnAmountUnacctDirectLabor
UNDEFINED X mnAmountUnacctSetupLabor
UNDEFINED X mnAmountUnacctMachine
UNDEFINED X szProjectCostCenter
UNDEFINED X szObjectAccount
UNDEFINED X szSubsidiary
UNDEFINED X szRelatedCompany
UNDEFINED X mnRelatedLineNumber
UNDEFINED X szDocumentType
UNDEFINED X szUserReservedCode
UNDEFINED X jdUserReservedDate
UNDEFINED X mnUserReservedAmount
VA TestURRF -> szUserReservedReference
UNDEFINED X mnUserReservedNumber
VA frm_mnJobNumber_JOBS -> mnJobNumber
GC Interm Flag (wf) EV03 [HIDDEN] <> cIntermediateFlag
GC Extended Cost <- mnExtendedCost
GC Resource -> mnResourceunitsconsumed
GC Capacity UOM -> szUMCapacityUOM
GC Repln locn file fmt [HIDDEN] -> szLocation
UNDEFINED X mnRunLaborCurrent
UNDEFINED X mnRunMachineCurrent
GC Cost Type -> szCostType
UNDEFINED X mnSetupLaborCurrent
UNDEFINED X szWorkcenterBranch
GC CSMS Cache Row Number [HIDDEN] <> nCSMSCacheRowNumber
VA frm_nCSMSLastRowNumber_INT02 <> nCSMSLastRowNumberUsed
GC Asset Number [HIDDEN] -> mnAssetItemNumber
</pre><hr />

Before you ask, yes the variable is populated with data.

Thanks for any advice.
Jamie
 
Hi Jamie,

Many times OW does not deal correctly with all parameters in Master BSFNs or sometimes there is a requirement to deal with a field wich exists in the table, but does not in the parameters of EditLine MBF.

If you do not want to modify EditLine and/or EnDoc MBFNs, then for the maintenance forms for these APPLs there are work-arounds.
These are discussed many times on this Forum.

I do not want to describe these here again, so please search the forum with the following key words:

+OK +Post +Button +Asynch

Please, let us know, that do you found the appropriate solution for you.
If yes, what was your choice.
If you need further help, then let us know too.
Thanks.

Regards,

Zoltán
 
Thanks for your quick reply Zoltan

So as I understand it I need to make the EndDoc call run async (on the OK button 'Post Button Clicked' event) , then loop through the grid and update URRF with table IO.

My dislike for master BSFNs grows, why include URRF in the data structure if you can't update it?

Regards
Jamie
 
Hi Jamie,

[ QUOTE ]
So as I understand it I need to make the EndDoc call run async (on the OK button 'Post Button Clicked' event) , then loop through the grid and update URRF with table IO.

[/ QUOTE ]

If you update with table I/O then:
- turn OFF all Async execution on all previous BSFN call
- Open the table with Include Transaction advanced option
- loop through the grid and update
- Close the table

More advanced solution:
#1.
- Create a very simple NER BSFN
- parameters are the primary key fields and the fields to update
- BSFN contains only a simple Update Table IO
#2.
- on the end of Post Button Clicked event (or after all BSFN calls) loop through the grid and call the BSFN to update
- turn ON the Include Transaction and Asynch execution on the BSFN call

Hope this helps.
Please let us know, if you have further questions and/or your result. Thanks.

[ QUOTE ]
why include URRF in the data structure if you can't update it?

[/ QUOTE ]

The appropriate person is not me to answer this quiestion.
cool.gif


Regards,

Zoltán
 
Again, Thanks for your help.

I will have a go at this after the weekend. I need to read up on Transaction Processing again, its been a few years since I did any serious JDE dev.

Jamie
 
Hi Jamie,

Some explanations.

Q.
Why to turn off Asynch BSFN execution, when you choose Table IO method?
A.
Because the those calls will run in a separate thread from your ER execution thread, so this way it is not sure at all, that they are finished when your ER execution hits your Table IO, so the the result easily can be garbage.

Q.
Why to turn on Include Transaction (both method)
A.
- Post Button Clicked on OK is one of the interactive events, where transaction processing possibility is available
- generally (not always, as in yours APPL), EndDoc MBFs are called with Include
- changes maded under a transaction is available only for "those", which are only part (include) the transaction, while the transaction is not commited
- if the MBF is not called with this option, the method does not cause any problem and to be on the safe side it is advisable to use this

Hope, this helps a bit.

Regards,

Zoltán
 
Hi Zoltan

Thank you, this really helped.
I implemented this, and it is working perfectly.

Thanks again
Jamie
 
Back
Top