Fill all required fields SAPMF02K 0111 SZA1_D0100-TITLE_MEDI
Hi all
Scenario MDM - Xi - R3
We're sending the idoc from mdm to xi, but we get an error in the R3 side about: Fill all required fields SAPMF02K 0111 SZA1_D0100-TITLE_MEDI.
I read some notes and i have tried to change some things about MSGFN value 009, 005 but it doesn't work... Can anybody help me??
The XML looks like:
<?xml version="1.0" encoding="UTF-8" ?>
- <CREMDM04>
- <IDOC BEGIN="1">
- <E1LFA1M SEGMENT="1">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<ANRED>/</ANRED>
<BRSCH>SEJ</BRSCH>
<DATLT>/</DATLT>
<DTAWS>/</DTAWS>
<ERDAT>/</ERDAT>
<ERNAM>/</ERNAM>
<KTOKK>VADN</KTOKK>
<KUNNR>/</KUNNR>
<LAND1>/</LAND1>
<LNRZA>/</LNRZA>
<NAME1>/</NAME1>
<NAME2>/</NAME2>
<NAME3>/</NAME3>
<NAME4>/</NAME4>
<ORT01>/</ORT01>
<ORT02>/</ORT02>
<PFACH>/</PFACH>
<PSTL2>/</PSTL2>
<PSTLZ>/</PSTLZ>
<REGIO>/</REGIO>
<SORTL>/</SORTL>
<SPRAS>/</SPRAS>
<STCD1>BBQ030122SEA</STCD1>
<STKZU>X</STKZU>
<STRAS>/</STRAS>
<TELBX>/</TELBX>
<TELF1>/</TELF1>
<TELF2>/</TELF2>
<TELFX>/</TELFX>
<TELTX>/</TELTX>
<TELX1>/</TELX1>
<XCPDK>/</XCPDK>
<VBUND>/</VBUND>
<FISKN>/</FISKN>
<ADRNR>/</ADRNR>
<MCOD1>/</MCOD1>
<MCOD2>/</MCOD2>
<MCOD3>/</MCOD3>
<REVDB>/</REVDB>
<KTOCK>/</KTOCK>
<PFORT>/</PFORT>
<WERKS>/</WERKS>
<LTSNA>/</LTSNA>
<WERKR>/</WERKR>
<PLKAL>/</PLKAL>
<DUEFL>/</DUEFL>
<TXJCD>/</TXJCD>
<FITYP>03</FITYP>
<STCDT>04</STCDT>
<ACTSS>PG</ACTSS>
- <E1LFA1A SEGMENT="">
<J_1KFTIND>Personas Morales</J_1KFTIND>
</E1LFA1A>
- <E1ADRMAS SEGMENT="1">
<OBJ_TYPE>LFA1</OBJ_TYPE>
<OBJ_ID>0005001282</OBJ_ID>
<CONTEXT>0001</CONTEXT>
- <E1BPAD1VL SEGMENT="1">
<ADDR_VERS>/</ADDR_VERS>
<FROM_DATE>/</FROM_DATE>
<TO_DATE>/</TO_DATE>
<TITLE>0003</TITLE>
<NAME>BLACK BELT QUALITY CORPORATION SA D</NAME>
<NAME_2>E CV</NAME_2>
<CONV_NAME>/</CONV_NAME>
<C_O_NAME>/</C_O_NAME>
<CITY>D.F.</CITY>
<DISTRICT>/</DISTRICT>
<CITY_NO>/</CITY_NO>
<DISTRCT_NO>/</DISTRCT_NO>
<CHCKSTATUS>/</CHCKSTATUS>
<REGIOGROUP>/</REGIOGROUP>
<POSTL_COD1>07369</POSTL_COD1>
<POSTL_COD2>/</POSTL_COD2>
<POSTL_COD3>/</POSTL_COD3>
<PCODE1_EXT>/</PCODE1_EXT>
<PCODE2_EXT>/</PCODE2_EXT>
<PCODE3_EXT>/</PCODE3_EXT>
<PO_BOX>/</PO_BOX>
<PO_W_O_NO>/</PO_W_O_NO>
<PO_BOX_CIT>/</PO_BOX_CIT>
<PBOXCIT_NO>/</PBOXCIT_NO>
<PO_BOX_REG>/</PO_BOX_REG>
<POBOX_CTRY>/</POBOX_CTRY>
<PO_CTRYISO>/</PO_CTRYISO>
<DELIV_DIS>/</DELIV_DIS>
<TRANSPZONE>/</TRANSPZONE>
<STREET>AVE. RESIDENCIAL GUSTAVO A. MADERO</STREET>
<STREET_NO>/</STREET_NO>
<STR_ABBR>/</STR_ABBR>
<HOUSE_NO3>/</HOUSE_NO3>
<STR_SUPPL1>/</STR_SUPPL1>
<STR_SUPPL2>/</STR_SUPPL2>
<STR_SUPPL3>/</STR_SUPPL3>
<LOCATION>/</LOCATION>
<BUILDING>/</BUILDING>
<FLOOR>/</FLOOR>
<ROOM_NO>/</ROOM_NO>
<COUNTRY>MX</COUNTRY>
<COUNTRYISO>/</COUNTRYISO>
<LANGU>S</LANGU>
<LANGU_ISO>/</LANGU_ISO>
<REGION>DF</REGION>
<SORT1>-</SORT1>
<SORT2>HONORARIOS</SORT2>
<EXTENS_1>/</EXTENS_1>
<EXTENS_2>/</EXTENS_2>
<TIME_ZONE>/</TIME_ZONE>
<TAXJURCODE>/</TAXJURCODE>
- <E1BPAD1VL1 SEGMENT="1">
<ADDRESS_ID>/</ADDRESS_ID>
<LANGU_CR>/</LANGU_CR>
<LANGUCRISO>/</LANGUCRISO>
<ADDR_GROUP>/</ADDR_GROUP>
<HOME_CITY>/</HOME_CITY>
<HOMECITYNO>/</HOMECITYNO>
<DONT_USE_S>/</DONT_USE_S>
<DONT_USE_P>/</DONT_USE_P>
</E1BPAD1VL1>
</E1BPAD1VL>
- <E1BPADTEL SEGMENT="1">
<COUNTRY>MX</COUNTRY>
<TELEPHONE>(55)57597532</TELEPHONE>
<CALLER_NO>/</CALLER_NO>
<STD_RECIP>/</STD_RECIP>
<HOME_FLAG>/</HOME_FLAG>
<ERRORFLAG>/</ERRORFLAG>
<FLG_NOUSE>/</FLG_NOUSE>
</E1BPADTEL>
<E1BPAD_REM SEGMENT="" />
</E1ADRMAS>
- <E1LFB1M SEGMENT="">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<BUKRS>102</BUKRS>
<AKONT>0021051001</AKONT>
<ZTERM>Z000</ZTERM>
<FDGRV>A1</FDGRV>
<REPRF>X</REPRF>
<HBKID>BNMX</HBKID>
<ALTKN>62058</ALTKN>
- <E1LFBWM SEGMENT="">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<BUKRS>102</BUKRS>
<WITHT>RP</WITHT>
<WT_SUBJCT>X</WT_SUBJCT>
<WT_WITHCD>HO</WT_WITHCD>
</E1LFBWM>
- <E1LFBWM SEGMENT="">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<BUKRS>102</BUKRS>
<WITHT>IV</WITHT>
<WT_SUBJCT>X</WT_SUBJCT>
<WT_WITHCD>HI</WT_WITHCD>
</E1LFBWM>
</E1LFB1M>
- <E1LFM1M SEGMENT="">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<EKORG>ABMX</EKORG>
<WAERS>MXN</WAERS>
<MINBW>0</MINBW>
<ZTERM>Z000</ZTERM>
<WEBRE>X</WEBRE>
<KZABS>X</KZABS>
<XERSY>X</XERSY>
- <E1WYT3M SEGMENT="">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<EKORG>ABMX</EKORG>
<PARVW>PR</PARVW>
</E1WYT3M>
</E1LFM1M>
- <E1LFBKM SEGMENT="1">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
<BANKS>MX</BANKS>
<BANKL>002</BANKL>
<BANKN>002180027876216466</BANKN>
<PROVZ>/</PROVZ>
<STRAS>/</STRAS>
<ORT01>/</ORT01>
<XPGRO>/</XPGRO>
<PSKTO>/</PSKTO>
<BKREF>0000002787621646</BKREF>
<PROV2>/</PROV2>
<KOINH>BLACK BELT QUALITY CORPORATION SA DE CV</KOINH>
<KOVON>/</KOVON>
<KOBIS>/</KOBIS>
</E1LFBKM>
- <E1LFASM SEGMENT="1">
<MSGFN>005</MSGFN>
<LIFNR>0005001282</LIFNR>
</E1LFASM>
</E1LFA1M>
</IDOC>
</CREMDM04>
Hi Jose,
is there any mapping in between?
I had the same error message when I mapped to IDoc and didn't fill some header fields/ attributes...
//Karsten
Similar Messages
-
Email submit button causing required error when all required fields are filled in
It looks like if I have more than 1 instance of subform added, my email submit button triggers "..at least one required " error message when all required fields are filled-in.
I toggle subforms between "visible" and "hidden (from layout)". Any suggestion is appreciated.
ralphThe fields that are hidden should have the validate.nullTest property set to "disabled", something like;
TextField1.validate.nullTest="disabled"; -
MAKE AN ENTRY IN ALL REQUIRED FIELDS
HI,
I AM USING THE FOLLOWING EXCEL VBA CODE TO TRY AND CALL A TRANSACTION LX02 DIRECT INTO EXCEL.
Public Sub add_bdcdata(BdcTable As Object, program As String, dynpro As String, dynbegin As String, fnam As String, fval As String)
Dim vField As Variant
j = j + 1
BdcTable.Rows.Add
BdcTable.Value(BdcTable.Rows.Count, "PROGRAM") = "RLS10020"
BdcTable.Value(BdcTable.Rows.Count, "DYNPRO") = "1000"
BdcTable.Value(BdcTable.Rows.Count, "DYNBEGIN") = "X"
BdcTable.Value(BdcTable.Rows.Count, "FNAM") = "BDC_OKCODE"
BdcTable.Value(BdcTable.Rows.Count, "FVAL") = "NEXT"
Debug.Print BdcTable.Value(j, "FVAL")
End Sub
Public Sub rfc_call_transaction()
Dim Functions As Object
Dim RfcCallTransaction As Object
Dim Messages As Object
Dim BdcTable As Object
' Create the Function control (that is, the high-level Functions collection):
Set Functions = CreateObject("SAP.Functions")
' Set the rest of Connection object values:
Functions.Connection.System = "QA2"
Functions.Connection.client = "900"
Functions.Connection.user = "mbrough"
Functions.Connection.Password = "st34lhv3"
Functions.Connection.Language = "EN"
If Functions.Connection.Logon(0, False) <> True Then
Exit Sub
End If
Dim iBOB As Integer
iBOB = Range("A1")
Do
' Retrieve the Function object (the Connection object must be set up before Function objects can be created):
Set RfcCallTransaction = Functions.Add("RFC_CALL_TRANSACTION")
' Set the export parameters
RfcCallTransaction.exports("TRANCODE") = "LX02"
RfcCallTransaction.exports("UPDMODE") = "S"
Set BdcTable = RfcCallTransaction.Tables("BDCTABLE")
' Set the tables parameter and add the data for the call transaction
add_bdcdata BdcTable, "RLS10020", "1000", "X", "", ""
add_bdcdata BdcTable, "", "", "", "BDC_CURSOR", "S1_LGNUM"
add_bdcdata BdcTable, "", "", "", "BDC_OKCODE", "=ONLI"
add_bdcdata BdcTable, "", "", "", "S1_LGNUM", "900"
add_bdcdata BdcTable, "", "", "", "S1_LGNUM", "ActiveCell"
add_bdcdata BdcTable, "", "", "", "S1_LGTYP-LOW", "K01"
add_bdcdata BdcTable, "", "", "", "BDC_SUBSCR", "SAPLSSEL"
add_bdcdata BdcTable, "", "", "", "BDC_SUBSCR", "SAPLSSEL"
add_bdcdata BdcTable, "SAPMSSYO", "0120", "X", "", ""
add_bdcdata BdcTable, "", "0", "", "BDC_OKCODE", "=BACK"
add_bdcdata BdcTable, "RLS10020", "1000", "X", "", ""
add_bdcdata BdcTable, "", "", "", "BDC_OKCODE", "/EE"
add_bdcdata BdcTable, "", "", "", "BDC_CURSOR", "S1_LGNUM"
add_bdcdata BdcTable, "", "", "", "S1_LGNUM", ActiveCell.Value
'End SubCall the function (if the result is false, then display a message):
If RfcCallTransaction.Call = True Then
Set Messages = RfcCallTransaction.imports("MESSG")
MsgBox Messages.Value("MSGTX")
Else
MsgBox " Call Failed! error: " + GetCustomers.Exception
End If
iBOB = iBOB + 1
Loop Until IsEmpty(ActiveCell.Offset(iBOB, 0))
Functions.Connection.Logoff
End Sub
I KEEP GETTING AN ERROR MESSAGE SAYING 'MAKE AN ENTRY IN ALL REQUIRED FIELDS' AND THEN NOTHING DOWNLOADS INTO EXCEL.
CAN ANYONE HELP PLEASE?
THANKSWhen I run this transaction through SAPgui I only have to fill out the field S1_LGNUM, and I have specified this in my code.
Is my code below correct?
Public Sub add_bdcdata(BdcTable As Object, program As String, dynpro As String, dynbegin As String, fnam As String, fval As String)
Dim vField As Variant
Static j As Integer
j = j + 1
BdcTable.Rows.Add
BdcTable.Value(j, "PROGRAM") = "RLS10020" ' Program Name
BdcTable.Value(j, "DYNPRO") = "1000" ' Dynpro Number
BdcTable.Value(j, "DYNBEGIN") = "X" ' X if a screen
BdcTable.Value(j, "FNAM") = "BDC_OKCODE" ' Field Name
BdcTable.Value(j, "FVAL") = "NEXT" ' Field Value
End Sub
As i have seen this in examples where it looks like below.
Public Sub add_bdcdata(BdcTable As Object, program As String, dynpro As String, dynbegin As String, fnam As String, fval As String)
Dim vField As Variant
Static j As Integer
j = j + 1
BdcTable.Rows.Add
BdcTable.Value(j, "PROGRAM") = program ' Program Name
BdcTable.Value(j, "DYNPRO") = dynpro ' Dynpro Number
BdcTable.Value(j, "DYNBEGIN") = dynbegin ' X if a screen
BdcTable.Value(j, "FNAM") = fnam ' Field Name
BdcTable.Value(j, "FVAL") = fval ' Field Value
End Sub
Thanks -
IDoc Error 51 - Make Entry in All Required Fields
hi,
I am using a scenario where an idoc is being posted into an R/3 system from a legacy application. For some reason I keep getting Idoc error 51 (Document not posted).
Once I drill down further, the specific error states "Make entry in all required fields". Have checked to make sure all mandatory fields have been mapped and proper constant values have been specified.
But cannot seem to get rid of the problem. Could anybody help out in determining how else to troubleshoot this and identify the possible cause?
thx,
ManpreetManpreet,
What IDoc Type you are trying to post ? One way is debugging the inbound function module using WE19. The second option is talking to a functional consultantor who worked, what fields are needed for that particular IDoc.
I wouldn't care much about whether the IDoc is posted or not because, it is the ABAP ALE/EDI consultant's job to do that. The only way XI Developer is concerned is when it is not posting, ABAPer would tell what's missing.
Hope this info helps.
regards
SKM -
Getting Return Message : Make an entry in all required fields
I need help.
when passing objectid blank i am getting "Make an entry in all required fields" Return message.
i checked through se16 --> PA0006 Table for all employeenumber objectid is blank.
below is my code
proxyaddchange.Connection.Open();
// To refer to the subset that has Permanent Address details
string subType = "1";
// Get records till this date(yyyymmdd - format)
string timeIntervalHigh = "99991231";
//timeIntervalHigh = "31.12.9999";
// Get records from this date(yyyymmdd - format)
string timeIntervalLow = "18000101";
timeIntervalLow = "19850101";
proxyaddchange.Bapi_Employee_Enqueue(txtSapId.Text,out Return11);
proxyaddchange.Bapi_Addressemp_Change(txtSapId.Text,"","","",subType,"123456789",timeIntervalLow,timeIntervalHigh,out Return12);
proxyaddchange.Bapi_Employee_Dequeue(txtSapId.Text,out Return13);Adil,
We are having the exact same problem as you have described. Did you ever find an answer?
We would appreciate any pointers you can provide.
Thanks,
Benny -
"must fill all requiered fields" - how can i push button multiple selection
hi friends,
i have a selection screen:
subty for pa0001-subty obligatory.
so_persk for pa0001-persk
pa_vac as checkbox.
the user have to fill subty and
(so_persk or pa_vac.).
the user want that when she push the "multiple selection" it wont give her error: you must type all requierd fields".(it obligatory)
what can i do?
thanks,
Michal.Hi Michal,
This must be oyur code
Select-options: s_subty for pa0001-subty obligatory,
so_persk for pa0001-persk.
pa_vac as checkbox.
As per your query the user enters s_subty as its obligatory fine
next user either enters so_persk or pa_vac
Am I right????
Now at the selection screen make the validations from where did the multiple selection come in this point,
Please revert with much more clarity
Thanks and Regards
Srikanth P -
Leaving the program without filling the required fields
Hello,
As you know we cannot leave the screen if there is a field required to be filled on this screen.However if the user does want to leave the screen without entering any data, how can he / she leave the program?
For example you have entered 10 bulks of data but want to exit without entering the 11. bulk.
How?
Thanks.Hi
- U need to set the command E for the code BACK in the status by menu painter
- U need to implement a module to be triggered when a ok-code (with command E) is called by AT EXIT-COMMAND addition:
PROCESS PAI.
MODULE EXIT AT EXIT-COMMAND.
MODULE EXIT.
IF OK_CODE = 'BACK'.
LEAVE PROGRAM.
ENDIF.
ENDMODULE.
Max -
Fill in all required entry fields 000 55
Hi There,
We have carried out a data load of 17'000 partners in CRM and 15'000 have been replicated correctly to ECC6
The remaining BDOC's are showing the error 000 55, fill in all required fields
However, I cannot get to find which fields are missing, I have looked at the SMQ1 and SMQ2 logs but still cannot get to the root of the problem
Any Ideas?
Reards
SteveHello Steve,
you may debugg this error in the following way, to find out which fields are involved:
1. Display the BDOC in SMW01
2. Enter /h in the transaction code field
3. Press the 'retry to process message' button.
4. In the debugger - select the Settings button and 'In background task
do not process'
5. Enter F8
6. Create a new session for the outbound queue (/osmq1) there will be
an entry R3AUBUPA*** or CSA_BUPA**
7. Double-Click on this queue entry twice and choose Debug for the
CRM_UPLOAD_TRIGGER
8. In the debugger, set a breakpoint at statement 'CALL TRANSACTION' and
then press F8.
9. At this statement double-click on the statement CALL_TRANSACTION and
change the variable CALL_TRANSACTION_MODE from N to A, press the
'change field content' button and then press F8
10. Now you will be in the R/3 System and you can see the batch input
Hope it helps.
Regards, Gerhard -
BUPA_MAIN BDOC Error 00 55 - Fill in all required entry fields
Hi All,
We have CRM 5.2 and i am currenlty having issues with BDOC Error 00 55 from CRM to R3.In our system we have custom code for business partner details changing where we have commit which results in creation of the BDOC.
When we end time slice the custom identification details the BDOC that is generated has the central_data section which is empty i.e the following fields are coming as blank.
CENTRAL_DATA->DATA->BP_CONTROL->CATEGORY
CENTRAL_DATA->DATA->BP_CONTROL-> GROUPING
CENTRAL_DATA->DATA->BP_CENTRALDATA->PARTNERLANGUAGE
CENTRAL_DATA->DATA->BP_CENTRALDATA->PARTNERLANGUAGEISO
CENTRAL_DATA->DATA->BP_PERSON->FIRSTNAME
CENTRAL_DATA->DATA->BP_PERSON-> LASTNAME.
The BDOC goes successfully but it deletes the name1 on sd customer. After that if we have any other change to the same bp then that errors out with error message 00 55 i.e. Fill in all required entry fields.
We have observed that in our custom code there are other places where we call the commit which generates the BDOC and those have central_data section populated with the above mentioned fields and it doesnt delete the name1 on sd customer.
It would be great if anyone can suggest if they have experienced a similar problem with business partner replication from CRM to R3 and how they resolved the same.
The thing to note here is that the ISU BP still has the name and is not deleted but name1 deletion only occurs for SD customer.
Any help is greatly appreciated.
Thanks,
JessicaHi Jessica,
Were you able to fix this issue of fill all required entries error?
i have a same error with my project too.
Yes, you know me. We worked in the same project earlier, now i am in this new project, where i get the same old error.
Thanks
Keerthi -
How to block the 'save' function when the required fields are not filled?
Hello, Everyone
I am new for this scripting. My question is:
How to block the 'save' function when the required fields are not filled?
I designed a PDF file with some required fields and I do not want the user to save the document until all required fields are filled. My idea is to write some scripts in Willsave method like:
if (this.getField("Family Name").value == ""){
app.alert('You should fill the Family Name field firstly!');
But I do not think it works as finally the document is saved after all.
Please help me on that!
So much thanks.Dear Randybearwang,
I am a Rocky myself and I know how though it is to establish some good codes. Since I created some forms with validation options myself I might have a code for you. The code also creates an alert box (Yes/no option) if the user chooses yes the form will be validatet, if he chooses "no" the alert window will be closed.If everything is filled out correctly the form will be saved otherwise the textbox will be higlighted and gets focus.
If you need further assistance , please let me know
Have fun with the code.
P.s I don´t know how to upload the "PDF" document. I wrote you an email, please get back to me if you still need the file. -
All mandatory fields which we need to fill in PA30
Hi
I have a requirement where i need to download the file with only header (header will contain all the fields of infotype)
I have to put (M) after the field name for fields which are mandatory to fill in PA30, have gone through posts in sdn but could not find the answer. Not able to understand t588m table as well. please help,
RegardsHi Lincoln
I mean to say that if you need to create a record of any infotype from PA30
there are some mandatory fields which you need to fill, otherwise record will not be saved, i need to find those mandatory fields for a particular infotype.
In technical terms (if you don't pass all the mandatory fields in HR_INFOTYPE_OPERATION, it will return an error - fill all required mandatory fields). So i need to know all the mandatory fields which i need to pass, to create a record.
Regards -
Alert user when saving PDF if required fields are empty/null
Greetings,
I've read a fair number of threads on this topic. I am not trying to force the user to stay in a field or otherwise be annoyed. I would just like to alert the user when they save the PDF if there are required fields that have not been filled out. The alert message would simply be a polite reminder to complete the form before sending.
I'm using Acrobat XI Pro.
1) Is the Other Tasks/Set Document Actions/Document Will Save the correct place to use a script in this case?
2) Would the script need to check each required field by name? Or is there a way to reference all required fields in the document?
3) I've seen some examples like this:
f = getField(event.target.name)
if (f.value.length == 0)
f.setFocus()
app.alert("This field is required. Please enter a value.")
However it has some issues with respect to closing the alert dialog and so forth. Can anyone provide a sample script to get me started?
Thanks!Exactly how you check a field for being empty depends on what type of field it is. For text fields, you should get the field's value as a string and compare it to an empty string, something like:
var val = getField("Text1").valueAsString;
if (val) {
app.alert("Field is not empty");
If there is a default value that needs to be changed, you would compare to the default value:
var f = getField("Text1");
var val = f.valueAsString;
if (val !== f.defaultValue) {
app.alert("Field value is OK");
For check boxes and radio buttons, you'd compare to the string "Off", which means none in the group is selected.
For dropdowns (combo boxes) and list boxes, there is normally one value selected, so you would have to get the value and check against the default value (or something else) to see if the field is properly filled in.
You could place the script there, but I usually use a separate button that I encourage the user to click in order to check the field. The problem with using the Will Save event is you can't prevent the save from happening.
The script can loop through all of the fields (and test all required ones), or you could set up an array of field names to check. -
Update model, even when required field(s) is/are empty
Hello,
A rather exotic question. :-) EDIT: using JDEV 11.1.1.4
Suppose you have a form that consists of inputTexts and some of them are required (required = true). These come from a data control that is based on a BPM Human Task.
What my customer wants is two buttons: one submit button, and one save button.
The submit button behaves normally: when a required field is not entered, a validation error is shown.
The save button on the other hand, will perform a model update without complaining, even though some required fields could be empty. This would be the Save operation on the BPM Data Control: the values that the user entered are saved (in the BPM engine), but the process does not continue. It's like saving a draft version of the fields you entered, so you can continue filling in the form for example the next day.
How can I achieve this? Where I have gotten so far:
*) If I do not make the "Save" button "immediate", then the client side validation will keep on complaining about the empty required fields.
*) If I make the "Save" button "immediate", then the client side validation is skipped. But the Update Model Values phase is also not executed, so values that the user entered are not stored in BPM. Too bad.
My plan now is making the button immediate, and then overriding page life cycle in case the Save button is pressed. I already created my own implementation of oracle.adf.controller.v2.lifecycle.PagePhaseListener. In the afterPhase() method, I then wanted to check if the current phase is the "Apply request Values" phase (if the button is immediate, then this is the last phase before the "Render Response" phase), and if so, manually call the updateModelValues phase, like this:
public void afterPhase(PagePhaseEvent pagePhaseEvent) {
int id = pagePhaseEvent.getPhaseId();
if(pagePhaseEvent.getPhaseId() == 10 && <user has clicked the SAVE button, not the Submit button>){ // APPLY REQ VALUES
LifecycleContext ctx = pagePhaseEvent.getLifecycleContext().getCurrentInstance();
ctx.getPageController().processUpdateModel(ctx);
}The <user has clicked the SAVE button, not the Submit button> condition will be done through a variable on session scope that is set to true/false depending on the button (save or submit) that was pressed, by using a setActionListener on that button.
Unfortunately, the model is still not updated and I'm kind of stuck... Can anyone help me?
Am I barking up the wrong tree and can this be done a lot easier, or what am I missing?
Thanks a lot!
Edited by: user13805808 on Jan 31, 2011 6:29 AMHello Frank,
Thanks for your quick reply.
The application is actually a bounded task flow that is based on a human task. So after selecting the human task, JDev automatically creates a task flow, and the Data Controls required to show, update, reject, approve, ... the task.
What I do next is drag & drop the payload of the task from the Data Control Palette to my page, and I create buttons for all the necessary operations (such as approve, reject, ...), also from the Data Control Palette. If you then deploy the application, it is automatically associated with the human task, and the page is shown in the Worklist application after selecting an instance of the task.
The operation that I am interested in is called "update", which basically, through the ADF Data Control and ADF model, sends the updated fields back to the BPM engine and saves the updated fields there (in memory, or in the DB, I don't know, but this doesn't matter). This operation is provided by default when creating a task flow based on a human task, and works perfectly if there are no required fields, or if all required fields are submitted. So "temporarily" saving the fields is not the issue.
What I want to achieve now, is have some fields that are required when the user clicks "approve" (one of the basic operations on a task), but optional with the user clicks "update" (another basic operation of a task). Approve would make the process itself continue and the task would no longer be assigned to the user. Update on the other hand would just update the payload in the BPM engine, but the task remains assigned to the user and the process doesn't continue. So if the user logs in at some point later in time, this task (with updated fields) will still be available in his inbox.
The first thing I noticed is that client side validation cannot be disabled anymore in ADF 11g, so the "update" button has to be set to immediate to avoid the validation of the required fields at client side. But if the "update" button is immedate, then the update model values phase in the page life cycle is skipped, so the data that the user entered is never submitted to BPM. Whereas if I set the "update" button to immedate="false", this works just fine. If all required fields are entered, that is. :-)
So - in my opinion - there would be 2 possible approaches if there are fields that should be required for the "approve" operation and optional for the "update" operation.
- Disable the client side validation and don't set the update button to immediate
- Make the "update" button immediate, but force the lifecycle to still perform Update Model Values, if the "update" button is used
The second approach would be the cleanest, but I'm unable to figure out how to do this... I'm a little bit lost in all the classes that are available. :-)
I hope this clarifies my problem...
Regards,
Chris
Edited by: ChrisSchryvers on Feb 1, 2011 4:21 AM -
Empty required field error message
I keep receiving "At lest one required field was empty on export. Please fill in the required (highlighted) fields before continuing." message.
I have changed all required fields to optional, but still get the above message. When I do get the message, there are no fields highlighted to correct and I have gone back thru each field and checked to make sure there are no required fields.
I would like to have 7 fields in my form as required, but even when we tried to put something in the field and submit the form, we received the message. I thought that removing the "required" value would take care of the problem, but the message still comes up.
Can anyone help.Here's something to try...<br />Under some circumstances (such as changing the type of a field), the underlying XML retains values that aren't displayed in the object't properties box.<br /><br />Try clicking on the XML tab, and doing a search for any text that looks anything like this:<br /><validate nullTest="warning"....<br />or <br /><validate nullTest="error"...<br /><br />If you do, that will indicate the cause of the problem.<br /><br />Good luck...<br /><br />Howard
-
2LIS_03_UM setup required field
Hi, Guru, I am facing a very strange issue here. When I am in R3 trying to fill the setup table for 2LIS_03_UM, it requires that a value in company code to be provided. We have more than 100 company codes, I really don't want to run setup table by company code 100 times. Here is the error msg if I don't provide a value for the company code. I tried with '*' and hope that it will include all values but that didn't work.
Fill in all required entry fields
Message no. 00055
Diagnosis
You have attempted to update data or start an action. However, not all required information was specified.
System Response
The system could not execute the action.
Procedure
Enter all required information. Fields in which you must enter data are prefilled with a checkmark or question mark ("?") by the system. If the current screen contains tabs, check all tabs to make sure you have filled in all required fields. Then restart the action.
Thanks in advance
ChimeiNo, the company code is a single value selection. I can put ranges for document number, fiscal year or posting date but not company code.
I am not able to post a screen shot but here is the basic layout of the screen. you can see that there is no "to" for the company code below and it is required which is the issue I think. The other fields are all optional.
Archiving Run
Company Code
Accounting Document to
Fiscal Year to
Posting Date to
Name of Run
Termination Date 05/06/2011
Termination Time 16:36:47
Chimei
Maybe you are looking for
-
Calling a method in view from component controller?
Hi, Is it posible to call a method that is defined in the Component Controller in the View? If it is posible please give some sample code how to call the method? Regards, Padmalatha.K
-
Hi Res images in iMovie iPad.
I need to add hi res images to a movie I'm making in imove on ipad. I have emailed it to myself, but when I'm import it into the camera roll iOS lowers the resolution. Is there a work around?
-
Database Location using Crystal Report XI
Crystal Report XI Developers Edition; VB 6 Enterprise Edition Prior to using Crystal Reports, I will create (if not already there) a database in my Visual Basic project file. Via Crystal Report XI, when I designed reports, I used Database Location as
-
Org Chart 3.0 : Admin Console Error
Hi Version: Org Chart 3.0 In AdminConfig->ORgChart->Hierarchies->Position, the pforile step (after Details Designer) has an yellow triangle. When I move my mouser over, it says: An errror has occured when initializing this step: java.lang.NullPointer
-
Re: Create new sales organization
Hi Good evening to you all, I have created a new sales organization and did the following SD related assignments and settings manually. Can some one tell me if any other assignments and settings should be done ? please advice 1. Assign sales organiza