Hi Ravi,
Thanks for the efforts you are taking. I am using the SFLIGHT tables. Here's my code:
CREATE PROCEDURE SFLIGHT_PROCEDURE_CE_W3U3 (
in AIRPORT_CODE nVARCHAR(3),
out AIRPORT_LOC tt_AIRPORT_LOC
)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
READS SQL DATA AS
BEGIN
/*****************************
Write your procedure logic
*****************************/
t_scitairp = CE_COLUMN_TABLE("SFLIGHT"."SCITAIRP",
["MANDANT", "AIRPORT", "MASTERCITY", "COUNTRY"]);
tp_scitairp = CE_PROJECTION(:t_scitairp,
["MANDANT" as "MANDT", "AIRPORT" as "ID", "MASTERCITY", "COUNTRY"]);
tp2_scitairp = CE_PROJECTION(:tp_scitairp,
[ "MANDT", "ID", "MASTERCITY", "COUNTRY"],
'"ID" = '':AIRPORT_CODE''' );
t_sairport = CE_COLUMN_TABLE("SFLIGHT"."SAIRPORT",
["MANDT", "ID", "NAME", "TIME_ZONE"]);
AIRPORT_LOC = CE_JOIN(:tp2_scitairp, :t_sairport,
["MANDT", "ID"],
["MANDT", "ID", "MASTERCITY", "NAME", "COUNTRY", "TIME_ZONE"]);
END;
The table type:
CREATE TYPE tt_AIRPORT_LOC AS TABLE (
MANDT nVARCHAR(3),
ID nVARCHAR(3),
MASTERCITY nVARCHAR(20),
NAME nVARCHAR(25),
COUNTRY nVARCHAR(2),
TIME_ZONE nVARCHAR(6)
)
The call statement:
call "_SYS_BIC"."myprojpackage.opensapproj.Models/SFLIGHT_PROCEDURE_CE_W3U3" (
AIRPORT_CODE => 'ACA', AIRPORT_LOC => ? );
Thanks,
Benedict