I'm trying to invoke the Smart Form LB_BIL_INVOICE. But while executing the generated function module, it gave the following error;
Message ID: SSFCOMPOSER
Message Number: 323
Message: Error in address output(name not filled).How do I fix this problem and test the Smart Form? Please help.
This is a terrific question. It sheds light on an important point to consider when working with address nodes in your own Smart Forms development.
Whenever you test the generated function module directly from a Smart Form (via the F8 key) or through a print program that passes incomplete data, many form values will not be populated, including address numbers. If there is no value in the address number field, SAP will fail to find a corresponding address during output generation. As the error message you encountered shows, SAP does not react gracefully.
The solution is to make sure that SAP does not even attempt to pull up the address. I recommend that you proceed as follows:
1) In this case, since the original form is SAP-delivered, copy it to a new Z-version.
2) Open up the Z-version in change mode and expand all its nodes.
3) Look carefully through the form for any address nodes. Node labels may help, but the clearest indicator is an envelope icon.
4) Select the node and note the address number variable used to retrieve the address. In this case, it is field ADRNR.
5) Navigate to the Conditions tab for the node and add the following condition: "ADRNR < > INITIAL"
6) Save and activate your form.If you test the new form, you should no longer receive the error message, as the node will be ignored.
Generally speaking, it is a good habit when working with address nodes to always set a condition on the address number being populated before allowing the node to be processed.
This was first published in October 2003