IBM Sterling Transformation Extender

Sterling Transformation Extender

Come for answers, stay for best practices. All we're missing is you.


#Sterling
 View Only
Expand all | Collapse all

Calling Stored Procedure in Input Card

Archive User

Archive UserWed January 31, 2018 07:58 AM

Archive User

Archive UserFri February 02, 2018 09:01 AM

  • 1.  Calling Stored Procedure in Input Card

    Posted Wed January 31, 2018 07:58 AM

    Originally posted by: pratikdeshmukh


    Hi ,

     

    I am new to WTX and have to use a stored procedure as input.

    My procedure has 1 input parameter and then gives multiple rows and columns.

    I was able to generate type tree for the stored procedure in DID.

    however when i try and run my map i get an error saying "Source not available".

    I have not defined any functional rules yet as i wanted to first see if my input card definitions are ok.

    The command in input card i am using is :

    -DBTYPE ORACLE -USER ibm_itxa -PASSWORD t5ap8ud?pr!C -T -STMT "EXEC HRO.get_outbound_elig_data("+HRO0122+")" 

    I tried changing the DBTYPE as well as using CALL in the STMT field but i still get this error when i run the map.

    P.S:My stored procedure uses data from multiple databases and is present in  a separate database which i used in DBID.

    Please advise and let me know if more information is needed.

     

    P.S:Moreover I also tried using a query to call the stored procedure with an input parameter but i got an error stating"column definitions couldnt be accessed"

    I have also attached the material I have since created.

     

     

     


    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 2.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 08:41 AM

    Originally posted by: pratikdeshmukh


    Guys I have connected to stored procedure now.

    However, could some one let me know how i can write column data from stored procedure to corresponding columkn in the output file?

    I need functional rules examples that will help me achieve this.

    Any help will be greatly appreciated


    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 3.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 11:00 AM

    Originally posted by: PaulBrett


    Please provide your current map and a flat file version of the data being retrieved from the stored procedure (use the Backup option on the input card to create this).

    Explain your output structure.  Give an example of how you expect the data to look.

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 4.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 11:16 AM
      |   view attached

    Originally posted by: pratikdeshmukh


    My map and other parameters are attached below.
    I am calling stored procedure in the input card but i am unable to populate those fields/see those fields in the input or the output.

    Do i need to create a separate type tree that resembles how my stored procedure looks when it is run in SQL serveri.e., do i need to mimic the column structure by writing a separate type tree.

    Also my stored procedure is such that it takes one id as a parameter and then gives out a complete resuklt with multiple columsn and rows.

     


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender

    Attachment(s)

    zip
    pratikquestnew1.zip   60 KB 1 version


  • 5.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 11:24 AM
      |   view attached

    Originally posted by: pratikdeshmukh


    Apologies pleae find the backup of input data also the output is a csv file.

    I have the type tree mentioned in the zip file (output.mtt)


    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender

    Attachment(s)



  • 6.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 11:24 AM
      |   view attached

    Originally posted by: PaulBrett


    I have activated input card backups for you (and removed output cards).

    Please run this map on your system, and then provide files ip2.bak and ip3.bak

    Also provide your expectations for the output.  How do you want the output data to look?

    Thank you.

    Paul

    Follow me on Twitter


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender

    Attachment(s)

    mms
    maptest1.mms   1 KB 1 version


  • 7.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 12:00 PM

    Originally posted by: pratikdeshmukh


    thank you paul .

    I will do that .

    My output data should be a simple CSV file(double quotes as separater) with the columsn mentioned in the output type tree


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 8.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 12:03 PM

    Originally posted by: pratikdeshmukh


    also paul please us the backup file i attached above(it corresponds to ip2) ..ip3 was just an experiment as i wwanted to see if i try to create a custom schema could i load data from my stored procedure by calling it into the COMMAND field.

    Basically i just want to know how i could get data from database into the input schema and how can i write functional rules to access the data in the output card.

     


    #IBM-Websphere-Transformation-Extender
    #DataExchange
    #IBMSterlingTransformationExtender


  • 9.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 01, 2018 12:16 PM

    Originally posted by: pratikdeshmukh


    Also the type tree for stored procedure was generated via database interface designer and doesnot have columns mentioned in the stored procedure


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 10.  Re: Calling Stored Procedure in Input Card

    Posted Fri February 02, 2018 06:34 AM

    Originally posted by: PaulBrett


    If the generated Typetree does not have the expected columns, then it is for one of two reasons:

    1.  There is a bug in the product - please raise a PMR with IBM.

    2.  The stored procedure uses an output method that is not supported by ITX (such as SYS_REFCURSOR):

    http://www-01.ibm.com/support/docview.wss?uid=swg21982008

    Do you want to publish your Stored Procedure here for review?

    Thank you.

    Paul

    Follow me on Twitter


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender


  • 11.  Re: Calling Stored Procedure in Input Card

    Posted Fri February 02, 2018 09:01 AM

    Originally posted by: pratikdeshmukh


    sure 

    USE [HRL_Process]
    GO
    /****** Object:  StoredProcedure [HRO].[get_outbound_elig_data]    Script Date: 1/30/2018 1:27:13 PM ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [HRO].[get_outbound_elig_data] (@trx_id varchar(20) = null)
     
    AS
     
    BEGIN
     
    --declare @trx_id varchar(20) = 'HRO0112'
    select 
     
    M.plan_id as plan_id
    ,E.group_no as group_no
    ,PG.Group_Name as group_name
    ,M.mem_id as mem_id
    ,M.suffix as suffix
    ,M.memstatus as Memstatus
    ,E.effdate as Effdate
    ,E.termdate as Termdate
    ,M.relation as RelationCode
    ,M.mem_last as LastName
    ,M.mem_first as FirstName
    ,M.mem_mid as MiddleInitial
    ,M.dob as DOB
    ,M.sex as Sex
    ,M.address as Address1
    ,M.address2 as Address2
    ,M.city as City
    ,M.state as State
    ,M.zip as Zip  
    ,isnull(m.phone,'') as Phone1
    ,isnull(m.work_phone,'') 
    ,isnull(m.email,'') as Email
    ,m.cs1
    ,m.cs2
    ,m.cs3 
    ,m.cs4
    ,m.cs6
    ,m.cs10
    ,m.cs11
    from 
     <differentdatabase>.<databasetablke> M with (nolock index=PK__member)
    inner join <differentdatabase>..<databasetablke> E with (nolock index=PK_enroll_1__15) on M.<databasetablke> = E.<databasetablke> and M.<databasetablke> = E.<databasetablke>and E.<databasetablke> = M.<databasetablke>
    inner join  <differentdatabase>..<databasetablke> PG WITH (NOLOCK INDEX=PK_plan_groupx_1__15) on E.<databasetablke> = PG.<databasetablke> and E.<databasetablke> = PG.<databasetablke>
    inner join HRL_Process.HRO.transaction_setup S WITH (NOLOCK) on S.elig_plan_id = M.plan_id 
    inner join HRL_Process.HRO.transaction_setup_elig_group_numbers GN on S.trx_id = GN.trx_id and GN.elig_group_no = E.group_no
    where 
    S.trx_id = @trx_id 
    and S.active = 1
     
    END

     

     

    Also paul i tried calling the stored procedure using a query and it worked and gave me all the schema from the query itself.

    I have attached that query here for your reference.

    Moreover,I am ubale to generate csv output file using the new schema that was generated using the query.

    I get an error stating "Output argument of rule does not match output item sub-class". Could you let me know how i can resolve this.

    I have added the output structure previously (csv file separated by double quotes"


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange

    Attachment(s)

    mtt
    qry2.mtt   11 KB 1 version
    bak
    qry2.bak   75 KB 1 version


  • 12.  Re: Calling Stored Procedure in Input Card

    Posted Fri February 02, 2018 10:18 AM
      |   view attached

    Originally posted by: PaulBrett


    I believe this s the solution you were looking for.

    Thank you.

    Paul

    Follow me on Twitter


    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender

    Attachment(s)

    zip
    pratikquestnew1.zip   3.13 MB 1 version


  • 13.  Re: Calling Stored Procedure in Input Card

    Posted Fri February 02, 2018 11:25 AM

    Originally posted by: pratikdeshmukh


    Thank you very much for that solution.

    Let me analyze it and see how it fits in my current structure


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender


  • 14.  Re: Calling Stored Procedure in Input Card

    Posted Mon February 05, 2018 08:47 AM

    Originally posted by: pratikdeshmukh


    paul Thank you so much for the solution.

    However,I need to use the output.mtt to create my output file which is different from the input type tree.

    In the example above you have matched the same type trees in input as well as output.

    I need to find how i can map the input tree to output one which is a little different and write different functional rules for the same.

     

    Thanks again and looking forward to your reply


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender


  • 15.  Re: Calling Stored Procedure in Input Card

    Posted Mon February 05, 2018 09:04 AM
      |   view attached

    Originally posted by: pratikdeshmukh


    Moreover,When i try and map a field directly to my output.mtt i get the following error which i dont know how to resolve.

     

    "Output argument of rule does not match output item sub-class"

     

     

    I have attached the output type tree for your reference


    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender

    Attachment(s)

    mtt
    output.mtt   9 KB 1 version


  • 16.  Re: Calling Stored Procedure in Input Card

    Posted Mon February 05, 2018 12:17 PM

    Originally posted by: pratikdeshmukh


    Paul,

     

    could you please refer to the query below?


    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender


  • 17.  Re: Calling Stored Procedure in Input Card

    Posted Mon February 05, 2018 12:40 PM
      |   view attached

    Originally posted by: PaulBrett


    Your 'effdate' object on the input side is a datetime object.  On the output side, the 'effdate' is defined as a text object.  You cannot just drag and drop if the items are of different types.  You would need to use the ITX functions to convert the date.  So, instead of:

    =effdate Column:Row:In1

    ...you might use:

    =TEXT(effdate Column:Row:In1)

    ...or somethnig similar.

    I also note that you have a group object to indicate a row of data, but no group object to encompass the whole file.  I have added this.  I have also completed the map (as best I can) including a function map with is executed for each input data row.  You may have to play around with the properties and syntax.

    Thank you.

    Paul

    Follow me on Twitter

     


    #IBM-Websphere-Transformation-Extender
    #DataExchange
    #IBMSterlingTransformationExtender

    Attachment(s)

    zip
    pratikquestnew2.zip   1.52 MB 1 version


  • 18.  Re: Calling Stored Procedure in Input Card

    Posted Mon February 05, 2018 03:44 PM

    Originally posted by: pratikdeshmukh


    Thank you so much for the help however, I still get error stating "

    Argument #1 for map functional does not match
    type of input card #1."

    I believe thats because my input is a database query


    #IBM-Websphere-Transformation-Extender
    #DataExchange
    #IBMSterlingTransformationExtender


  • 19.  Re: Calling Stored Procedure in Input Card

    Posted Tue February 06, 2018 03:55 AM

    Originally posted by: PaulBrett


    The adapter being used is irrelevant, as long as you use the same Typetree I had in my example and the same root object, then you should not be getting this error.

    Take my example (FILE based) and run it.  If it works, then just change the adapter type from FILE to DATABASE and make the appropriate command line entries for successful connection.

    Thank you.

    Paul

    Follow me on Twitter


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 20.  Re: Calling Stored Procedure in Input Card

    Posted Tue February 06, 2018 03:03 PM

    Originally posted by: pratikdeshmukh


    Thank you paul for that information above.

    Would you be able to guide me as to how i can get the column names of the output type tree in the actual file generated?

    Also, I am using stored procedure to get my input.However,this stored procedure is triggered by an input parameter/value which i have mentioned in the the command line of input card.

    Is it possible for me to use a sterling business process to update this value as and when required.meaning can a variable setting be used in the command line by which the business process will pass this value to the map and i have to avoid hardcoding it else i will have to create many such maps.

    Moreover,can this input variable be used to alter other functions that will be used in the functional map?


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 21.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 15, 2018 08:04 AM
      |   view attached

    Originally posted by: PaulBrett


    For column names, create a row that is similar to the data row, and have a single instance of it in the FILE level object.  Hardcode the values you need in the map.  Some of the column types will need to be changed, such as number and data/time types.  See attached example (for 32 bit WTX only - 64 bit available on request).

    For your questions... Yes and yes.  Both are possible.  Read up on the -VAR command to alter the variables passed to the stored procedure at runtime.  Also look into using the ECHO adapter to send additional data to supplementary cards, to be used as values in your map.

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #DataExchange
    #IBMSterlingTransformationExtender

    Attachment(s)

    zip
    TxtTest.zip   4 KB 1 version


  • 22.  Re: Calling Stored Procedure in Input Card

    Posted Thu February 22, 2018 08:07 AM

    Originally posted by: pratikdeshmukh


    Thank you paul for the reply.

    However,how do i get input from the the business process?will it be via an assign statement also how would i assign that value to the -VAR command defined at the input card.

    meaning will it look something like -USER ibm -PASSWORD t545 -T -VAR trxvar='inputfromsterlingprocessdata'(dont know how to define sterling input -STMT exec HRO.get_outbound_elig_data @trx_id =#trxvar#

     

    OR -USER ibm -PASSWORD t545 -T -Kvariableconstantdefinedintheassignstatementofsterlingintegrator-STMT exec HRO.get_outbound_elig_data @trx_id =#trxvar#

    Please advise


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender


  • 23.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 06, 2018 08:17 AM

    Originally posted by: pratikdeshmukh


    @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4 Hey paul any advise on the query below?

    I am still unable to get data from sterling process data to wtx map


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 24.  Re: Calling Stored Procedure in Input Card

    Posted Wed February 14, 2018 12:59 PM

    Originally posted by: pratikdeshmukh


    Hey Paul ,

     

    In my map i have added functionality to write data to a database table.

    When i run it via the design studio it runs fine and records are updated in the table .

    But when i use the map in the translation service of sterling b2b integrator i am unable to do so.

    Please advise .

     

    Also could you answer some of the queries i mentioned above?

     

    Thanks


    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender


  • 25.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 06, 2018 09:07 AM

    Originally posted by: PaulBrett


    Break it down into parts.  Are you able to get the required SI process data in a map on the output card using a GET() ?

    Are you then able to design a RUN() function to call your main map, using overrides with -VAR to get the DB data you require?

    I don't think you can do what you are asking in a single map.

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 26.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 06, 2018 10:36 AM

    Originally posted by: pratikdeshmukh


    Thats the part that i am unable to get.

    i dont need the data in the output card.

    I need it in the input card as i have to assign an input parameter to the stored procedure that i am running.

    Can i do that use process data to assign it to a variable defined at command line.

    Also i couldnt find literature with examples for the same in the forum.

     


    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 27.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 06, 2018 10:46 AM

    Originally posted by: PaulBrett


    You have to get the process data in the output card, then do a RUN() function to call a sub map to do the database transaction.  I can't think of any other way to design it.

    Thank you.

    Paul

    Follow me on Twitter


    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 28.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 06, 2018 03:06 PM

    Originally posted by: pratikdeshmukh


    Would you be able to provide a specific example on how to achive this.

    I found the following thread on the form .https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000013934122

    However, I was unable to open any of the examples that were mentioned.

     

    Thank you so much for your help


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 29.  Re: Calling Stored Procedure in Input Card

    Posted Thu March 08, 2018 10:39 AM

    Originally posted by: pratikdeshmukh


    @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4 Hey Paul , would you be able to provide me with a sample that can achieve input card being updated by process data?


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 30.  Re: Calling Stored Procedure in Input Card

    Posted Thu March 08, 2018 11:24 AM
      |   view attached

    Originally posted by: PaulBrett


    Please review the enclosed example (which, by the way, will NOT run in Design Studio)

    GetFromDB.mmc will retrieve 4 records from the database table (of 5 records) as the compiled in -VAR for HC=1.

    GetFromProcData.mmc will simulate getting processdata from SI (using a GET from the FILE adapter instead) and call the previous map with an override, resulting in only 2 records being retrieved with HC=4.

    Does this help you to understand the process?

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange

    Attachment(s)

    zip
    Database.zip   9 KB 1 version


  • 31.  Re: Calling Stored Procedure in Input Card

    Posted Thu March 15, 2018 03:07 PM

    Originally posted by: pratikdeshmukh


    Thank you @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4 for that information.

    I was trying to extract process data using the RUN funtion provided above.

    however, i received error 56 -inavlid command.

    I am using below code for the same purpose 

    =VALID(RUN("maptest1.mmc","-VAR trxvar="+GET("SPE","-t+ -c getProcessData -k /ProcessData/trxvar")+"-OE1"),LASTERRORCODE()+LASTERRORMSG())

    Also when i tried to use the RUN function defined in the example above which uses a txt file as input to the variable i received the same error as i was trying to feed it with input from txt file.

    Should i be changing any adapters in the example above?


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender


  • 32.  Re: Calling Stored Procedure in Input Card

    Posted Mon March 19, 2018 07:11 AM

    Originally posted by: pratikdeshmukh


    @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4

     

    Hey Paul ,

    Any updates on the query above?

    Thank you so much for all the help.


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 33.  Re: Calling Stored Procedure in Input Card

    Posted Mon March 19, 2018 11:40 AM

    Originally posted by: PaulBrett


    =VALID(RUN("maptest1.mmc","-VAR trxvar="...

    ...should be:

    =VALID(RUN("maptest1.mmc","-ID1 '-VAR trxvar="...

    ...as you're overriding a database input adapter.

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 34.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 20, 2018 07:01 AM

    Originally posted by: pratikdeshmukh


    Thank you so much for the reply @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4

    However, do you think the rest of the query is correct as i am still getting "56Invalid command line option - 1" as error.


    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender


  • 35.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 20, 2018 07:08 AM

    Originally posted by: PaulBrett


    You should have:

    ...-k /ProcessData/trxvar")+"' -OE1"),LASTERRORCODE()+LASTERRORMSG())

    Note the single apostrophe and the space before -OE1 to correctly terminate the -ID1 command.

    Thank you.

    Paul

    Follow me on Twitter


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 36.  Re: Calling Stored Procedure in Input Card

    Posted Tue March 20, 2018 01:16 PM

    Originally posted by: pratikdeshmukh


    Thank you so much @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4 for that information.

    I was able to execute the map however, now i am getting error stating "target not available".

    For some reason the run map isnt able to execute the called map.

    I have attached the log that was generated as a result below (in Sterling B2b), as well as the logs that were locally generated.

    The locally generated file was bound to fail as there was no process data available however, the one in sterling did have the information required to be fed into the variable available but it still failed.

     

     

    Begin SPE Logs 
    Resource (null): 
    ----- wtxlogger LOG BEGIN -----
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] entering processData with mapInstance=4
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] accessing map from the repository...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] #### ProcessData:
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] ---- key=exhaust_input = Yes
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] ---- key=Map_Type = 6
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] ---- key=Map_Name = runmap
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] ---- key=validate_output = Yes
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] ---- key=validate_input = Yes
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] ---- key=out1 = OutputCard1
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] #### Documents:
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] Map name=runmap CacheMap=false
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] Adding output override: out1 = OutputCard1
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapService] Executing map service engine...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] SystemInfo:
    OS=Windows Server 2012 ARCH=amd64 version=6.2
    ByteOrdering=LITTLE_ENDIAN
    Stream encoding=Cp1252
    File encoding=Cp1252
    Default character set=windows-1252
    JRE=IBM Corporation version=1.7.0
    JVM=IBM Corporation version=2.6 name=IBM J9 VM
    Java home=D:\IBM\SFG\install\jdk\jre
    Java class path=D:/IBM/SFG/install/jar\bootstrapper.jar
    Java extension dirs=D:\IBM\SFG\install\jdk\jre\lib\ext
    PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\IBM\ITX4IS
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] Loading map: runmap size = 1024
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] MapInstance: 4
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] Trace location: D:/IBM/ITXA
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] Audit location: D:/IBM/ITXA
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] Work file location: D:/IBM/ITXA
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] map is not thread safe. Trace is enabled.
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] instantiating wtx external dataharness functions...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] processing harness document ids...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] harness document id = SD-D-SFGW:node1:1622d497b92:7894326
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] processInputCards - number of map input cards: 0
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] processOutputCards - number of map output cards: 1
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] Processing outputcard override: 0 (OutputCard1)
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] Got MCard object for output card: 1 (out2)
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] override output card with stream adapter...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] registering putwire callback...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] instantiating wtx entity resolver...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] registered run map load callback...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] enabled resource manager functionality...
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [WTXMapExecute] before map run....
    [214569:Thread-128106] [2018-03-20 09:47:26.52] DEBUG  [WTXMapExternalDataHarness] Registered thread logging mapping [214569:Thread-128106] -> [214568:HAR.1299649.Thread]
    [214569:Thread-128106] [2018-03-20 09:47:26.52] DEBUG  [WTXMapExternalDataHarness] invoked getProcessData harness function with name=trxvar
    [214569:Thread-128106] [2018-03-20 09:47:26.52] DEBUG  [WTXMapExternalDataHarness] returning getProcessData harness function with value=
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] getMapBytes with mapPath=D:/IBM/ITXA\maptest1.mmc
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] loadMap mapPath=D:/IBM/ITXA\maptest1.mmc
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] getMapNameToLoadFromRepository mapPath=D:/IBM/ITXA\maptest1.mmc
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] getBytesFromFileLocation mapPath=D:/IBM/ITXA\maptest1.mmc
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] file not found on the location, loading from repository :maptest1
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] getBytesFromRepository mapName=maptest1
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.52] DEBUG  [WTXMapRunLoadCallback] completed loadMap - mapBytes=31864
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] after map run....
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] Processing output card override for accessing stream data: 0 (OutputCard1)
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] Processing output card (MCard) override for accessing stream data: 1 (out2)
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] output stream size: 21
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] MapInstance: 4
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] response message: Map completed successfully
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] response code: 0
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] External thread mappings for HAR.1299649.Thread
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] External thread Thread-128106
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExternalDataHarness] invoked setCorrelation harness function with name=Map value=runmap
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExternalDataHarness] returning setCorrelation harness function with value=0
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExternalDataHarness] invoked setCorrelation harness function with name=MapVersion value=1
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExternalDataHarness] returning setCorrelation harness function with value=0
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExternalDataHarness] invoked setCorrelation harness function with name=TranslationDateTime value=0001521565697246
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExternalDataHarness] returning setCorrelation harness function with value=0
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] Wrote document 'OutputCard1' 21 bytes
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] removed logs generated by the WTX external data harness
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] WTX external data harness has already been removed from the object pool
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapExecute] Leaving executeMap...
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapService] Execution Results:
    Map instance: 4
    Return code: 0
    Message: Map completed successfully
    [214568:HAR.1299649.Thread] [2018-03-20 10:08:17.246] DEBUG  [WTXMapService] leaving processData...
    ----- wtxlogger LOG END -----
    
    ----- systemlogger LOG BEGIN -----
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  Creating new SPEThreadState for thread key 214568:HAR.1299649.Thread|
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [214568:HAR.1299649.Thread|-TranslationService] is running.
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [CacheEntry] Loading non-cached object with verifiedKey DEFAULT:runmap:-1:-1  using cache SPEMapCache
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [CacheEntry] Loading cached object with verifiedKey DEFAULT:runmap:99:-1 into cache SPEMapCache
    [214568:HAR.1299649.Thread] [2018-03-20 09:47:26.504] DEBUG  [CacheEntry] Adding object with key DEFAULT:runmap:99:-1 to cache SPEMapCache
    ----- systemlogger LOG END -----
    

     

    Any insights would be greatly appreciated and thank you again for all the help


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange

    Attachment(s)

    mtr
    M4spe.mtr   7 KB 1 version
    dbl
    maptest1.dbl   6 KB 1 version
    log
    maptest1.log   1 KB 1 version


  • 37.  Re: Calling Stored Procedure in Input Card

    Posted Wed March 21, 2018 04:19 AM

    Originally posted by: PaulBrett


    We would need to see the ITX audit logs from maps when called from Sterling B2B.

    In the Map Designer, change the settings for all maps to create a unique audit log, in a specific directory (known on the SI server).  Compile in those changes and re-deploy these compiled maps to SI.

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 38.  Re: Calling Stored Procedure in Input Card

    Posted Wed March 21, 2018 02:13 PM

    Originally posted by: pratikdeshmukh


    Thank you @PaulBrett 7dc33b4a-95b0-44b2-96ed-5693666654c4 for the tip.

    However, i dont have access to the server to check these logs.

    The inbuilt SI logs are the only source of debugging as well as status report.

    I had another question is there any adapter to GET the desired value from a file instead of process data?

    I was trying the command below but i still got the invalid command error.

    =VALID(RUN("maptest1.mmc","-ID1 '-VAR trxvar="+GET("FILE","outputactive")+"' -OE1 -OE2 -AEM"),LASTERRORCODE()+LASTERRORMSG())


    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 39.  Re: Calling Stored Procedure in Input Card

    Posted Mon March 26, 2018 04:29 AM

    Originally posted by: PaulBrett


    Yes, you can get data from a file.  It would be better to use a fully qualified path/filename and extension for the filename, so you can be sure of finding it.

    Thank you.

    Paul

    Follow me on Twitter


    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange