If you are going to write a text file anyway you can let the PUT statement to most of the work. So no need to construct the line in a character variable and then write. Just write it like you would when writing out any other text file.
filename payload temp;
data _null_;
set temp;
file payload;
put '{"identifier":' sku :$quote. ',"enabled":' enabled ',"values":{' @;
etc.
Plus that means the lines in your JSON LINES file are not limited to 32,767 bytes of a single dataset variable. The LRECL= option of the FILE statement will support much longer lines. Or you could use RECFM=N and write the end of line characters yourself using PUT '0DOA'x ;
NOTE: You are still not creating an actual JSON file. Instead each line in your file is an complete JSON file. So that is a JSON LINES file. For the whole file to be valid JSON you would need to combine the lines into a JSON object or array.
... View more