cancel
Showing results for 
Search instead for 
Did you mean: 

Automatic Inbound Delivery Creation via Output types

former_member920667
Participant
0 Kudos

Hi,

I have some questions about the automatic creation of Inbound Deliveries via output types.

When creating a PO/SA, (clicking on save) an output type must apear (ZIBD), this output type will be in yellow.

I would like to know how what should be done.

Behind the output type, there is a program. (I do not exactly know what it does.)

There is as well a Requirement, assigned to the output type, what has as well a program. I have to create a requirement, where I have to mention my checks.

is the confirmation control key 0004 inbound delivery

check in a table if a vendor is e.g. fresh vegetables. (Then do not create)

that sort of things.

I would like to know if those checks need to be in the requirements, so that the output type will be displayed.

Next to this, an every  hour running job (z program) needs to be created that will check which open PO/SA has the output type (ZIBD) and if the creation time/date is more then 24 hours. If this is the case the inbound delivery will be created executing a BAPI (BBP_INB_DELIVERY_CREATE).

Thanks,

Regards,

Alexander

Accepted Solutions (1)

Accepted Solutions (1)

tomas_talpa
Active Contributor
0 Kudos

Hello Alexander,

  • as for new Output Type:
    • see help.sap.com for Messages in Purchasing and CA-Message Control;
    • generally all the steps can be done in transaction NACE "Conditions for Output Control"
      • create new Output Type;
      • assign it to Procedure  (with custom defined requirement)
      • assign in to Access Sequence;
      • create the Condition Records;
  • as for Requirement:

BTW #01, the logic for message determination does not neccessarily be done via Requirement -- you can also extend the field catalogue with data from PO item (see note Note 39462 - Expand field catalog in message determination for purchasing)... but I guess Requirement would be easier, in this case.

BTW  #02, if you now that you will need to have this processing program scheduled on background, is it even worth developing new condition? I can't see why you can not put the whole logic into this program.

Good luck

TomT

former_member920667
Participant
0 Kudos

Hi Tomas,

Thanks for you anwnser. I still have some doubs. Maybe you can help me with it. I have placed some screenshots.

I have to describe some new functionalities. An Inbound Delivery need to be created automatically after creation of a PO or SA. I'm going to use Output types (ZIBD). When saving the PO, the output type must be in yellow (not execute yet).

A job (kind of ME9F program) will run in the background every (say 2 ) hours checking which PO's have the Output type ZIBD, creating the Inbound Delivery (With the BAPI) and putting the output type to green.

My problem is that I do not completely understand how output types work. I have to describe a FD about the program that executes the output type.

I think I will have to do the following customzing.

1. Create new Condition Tables:

     DocType/Comp.Code/Plant

     DocType/Comp.Code/Plant/Vendor

2. These condition tables need to be added to the Access Sequence. (new access sequence 0003)

3. Create new Output Type (ZIBD)

    The new output Type has to be assigned to the new Access Sequence.

What I do not know how the "Change Output" works, what does the program do and what does the FORM Routine do?

Do I have to create a new one?

The dispatch time will be (1. send with periodically scheduled job) - has been designed already.

and transaction medium will be 9 special functionl. The Job/program will

execute a BAPI (BBP_INB_DELIVERY_CREATE) to create the inbound delivery.

What I do not know how the "Processing Routines" works, what does the program do and what does the FORM Routine do?

Do I have to create a new one?

After the customizing of the Output type, I will have to create a new Requirement.

(some checks will be in here - like, confirmation control key has to be value 0004) If these Checks are correct, the output type has to be displayed in the PO screen.

After the developing/customizing the requirements I will assign the output type ZIBD to the new Requirement.

The next step, I think is to assign the partner roles to the output type (message type)

Why is this needed?

Thanks for your help.

Regards,

Alexander

tomas_talpa
Active Contributor
0 Kudos

Wow, Alexander, this is the longest post I've ever seen...

...if you don't mind I'll focus only on direct question:

  • "What I do not know how the "Change Output" works, what does the program do and what does the FORM Routine do?"
    • change routine is only deciding whether the the message will be created as new output or change output, i.e. it is determining the content of field NAST-AENDE "Change message flag" (which you can see in Message Output screen in ME23N, for example)
    • the purpose of this field is to give you an opportunity to process changes in different way than new outputs... e.g. insted of title "Purchase Order" you would like to have "Change to Purchase Order" on PO printout;
    • if you don't need to have the information that this message is a change message, you can happily ignore it;
    • (still it would be good to think about change processing in your scenario -- what are going to do if user will create a new item for PO which has already created delivery?)
  • "What I do not know how the "Processing Routines" works, what does the program do and what does the FORM Routine do?"
    • that routine specifies the actual processing of output;
    • the SAP logic is that outputs are processed by program RSNAT00 (either form some transaction like ME9F, or scheduled as a job, or in background in case of immediate processing), and it will simply call this routine and pass the message details there;
    • in case of print outputs the routine here is the actual printing program, which is passing the data from message to printform;
  • "The next step, I think is to assign the partner roles to the output type (message type)

Why is this needed?"

    • if you don't want to have a partner there, you don't need it specify;
    • your output type should than be defined with "Partner Independent Output" checkbox;

Kind Regards

TomT

former_member920667
Participant
0 Kudos

Hi Tomas,

Thanks for your reply. It's clear now.

Regards,

Alexander

Answers (0)